Compare commits
50 Commits
5.10.0-rc1
...
5.10.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
568f7a8e8f | ||
|
|
a983b72713 | ||
|
|
e55ba9c390 | ||
|
|
ec7738934b | ||
|
|
fbab80fced | ||
|
|
3b2abbea70 | ||
|
|
998d1a2b8c | ||
|
|
9a7471c5c0 | ||
|
|
21c8c141aa | ||
|
|
c2e89c5b6f | ||
|
|
cf76dac464 | ||
|
|
d9df06cda3 | ||
|
|
66a5ddca25 | ||
|
|
0be1fe11ca | ||
|
|
812abba33b | ||
|
|
2d6592a804 | ||
|
|
e23c191232 | ||
|
|
58ebe0a58f | ||
|
|
000f0c78bc | ||
|
|
aaf4877730 | ||
|
|
0c61461b07 | ||
|
|
31c50c470c | ||
|
|
62bee9f502 | ||
|
|
112c0719cd | ||
|
|
c96455b2e4 | ||
|
|
eed109c724 | ||
|
|
f25eaf1261 | ||
|
|
e1be22a6ff | ||
|
|
5891d0f5ec | ||
|
|
2424c64099 | ||
|
|
8b27340b2e | ||
|
|
7557a287e5 | ||
|
|
122b2d70d9 | ||
|
|
4bb9c8c61b | ||
|
|
0391d91e5d | ||
|
|
77e78193a0 | ||
|
|
cce4fe5a3f | ||
|
|
50b7523336 | ||
|
|
fced6ff240 | ||
|
|
bafc477919 | ||
|
|
60cd1e4529 | ||
|
|
1fa4ca7c59 | ||
|
|
db04964697 | ||
|
|
294a30e445 | ||
|
|
9982c56373 | ||
|
|
c884e7181f | ||
|
|
3064f3ccb7 | ||
|
|
0e06590ffd | ||
|
|
e952a0807b | ||
|
|
ba370d9841 |
3
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
3
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
@@ -6,8 +6,9 @@ body:
|
||||
attributes:
|
||||
value: |
|
||||
Please note the following:
|
||||
|
||||
1. **Please update Luanti to the latest stable or dev version** before submitting bug reports. Make sure the bug is still reproducible on the latest version.
|
||||
2. This page is for reporting the bugs of **the engine itself**. For bugs in a particular game, please [search for the game in the ContentDB](https://content.minetest.net/packages/?type=game) and submit a bug report in their issue trackers.
|
||||
2. This page is for reporting the bugs of **the engine itself**. For bugs in a particular game, please [search for the game in the ContentDB](https://content.luanti.org/packages/?type=game) and submit a bug report in their issue trackers.
|
||||
* For example, you can submit issues about the Minetest Game [in its own repository](https://github.com/minetest/minetest_game/issues).
|
||||
3. Please provide as many details as possible for us to spot the problem quicker.
|
||||
- type: textarea
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -4,5 +4,5 @@ contact_links:
|
||||
url: https://github.com/minetest/minetest_game/issues/new/choose
|
||||
about: Only submit issues of the engine in this repository's issue tracker. Submit those of Minetest Game in its own issue tracker.
|
||||
- name: Search for issue trackers of third-party games
|
||||
url: https://content.minetest.net/packages/?type=game
|
||||
url: https://content.luanti.org/packages/?type=game
|
||||
about: For issues of third-party games, search for the game in the ContentDB and then submit an issue in their issue tracker.
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/feature_request.yaml
vendored
2
.github/ISSUE_TEMPLATE/feature_request.yaml
vendored
@@ -7,7 +7,7 @@ body:
|
||||
value: |
|
||||
Please note the following:
|
||||
1. Only submit a feature request if the feature does not exist on the latest dev version.
|
||||
2. This page is for suggesting changes to **the engine itself**. To suggest changes to games, please [search for the game in the ContentDB](https://content.minetest.net/packages/?type=game) and submit a feature request in their issue trackers.
|
||||
2. This page is for suggesting changes to **the engine itself**. To suggest changes to games, please [search for the game in the ContentDB](https://content.luanti.org/packages/?type=game) and submit a feature request in their issue trackers.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Problem
|
||||
|
||||
2
.github/workflows/android.yml
vendored
2
.github/workflows/android.yml
vendored
@@ -12,6 +12,7 @@ on:
|
||||
- 'irr/**.cpp'
|
||||
- '**/CMakeLists.txt'
|
||||
- 'cmake/Modules/**'
|
||||
- 'po/**.po'
|
||||
- 'android/**'
|
||||
- '.github/workflows/android.yml'
|
||||
pull_request:
|
||||
@@ -24,6 +25,7 @@ on:
|
||||
- 'irr/**.cpp'
|
||||
- '**/CMakeLists.txt'
|
||||
- 'cmake/Modules/**'
|
||||
- 'po/**.po'
|
||||
- 'android/**'
|
||||
- '.github/workflows/android.yml'
|
||||
|
||||
|
||||
6
.github/workflows/linux.yml
vendored
6
.github/workflows/linux.yml
vendored
@@ -12,9 +12,8 @@ on:
|
||||
- 'irr/**.cpp'
|
||||
- '**/CMakeLists.txt'
|
||||
- 'cmake/Modules/**'
|
||||
- 'po/**.po'
|
||||
- 'util/ci/**'
|
||||
- 'Dockerfile'
|
||||
- '.dockerignore'
|
||||
- '.github/workflows/linux.yml'
|
||||
pull_request:
|
||||
paths:
|
||||
@@ -26,9 +25,8 @@ on:
|
||||
- 'irr/**.cpp'
|
||||
- '**/CMakeLists.txt'
|
||||
- 'cmake/Modules/**'
|
||||
- 'po/**.po'
|
||||
- 'util/ci/**'
|
||||
- 'Dockerfile'
|
||||
- '.dockerignore'
|
||||
- '.github/workflows/linux.yml'
|
||||
|
||||
env:
|
||||
|
||||
45
.github/workflows/macos.yml
vendored
45
.github/workflows/macos.yml
vendored
@@ -13,6 +13,7 @@ on:
|
||||
- 'irr/**.mm' # Objective-C(++)
|
||||
- '**/CMakeLists.txt'
|
||||
- 'cmake/Modules/**'
|
||||
- 'po/**.po'
|
||||
- '.github/workflows/macos.yml'
|
||||
pull_request:
|
||||
paths:
|
||||
@@ -25,10 +26,11 @@ on:
|
||||
- 'irr/**.mm' # Objective-C(++)
|
||||
- '**/CMakeLists.txt'
|
||||
- 'cmake/Modules/**'
|
||||
- 'po/**.po'
|
||||
- '.github/workflows/macos.yml'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
build-intel-macos:
|
||||
# use lowest possible macOS running on x86_64 supported by brew to support more users
|
||||
runs-on: macos-13
|
||||
steps:
|
||||
@@ -68,3 +70,44 @@ jobs:
|
||||
with:
|
||||
name: luanti-macos
|
||||
path: ./build/macos/*.zip
|
||||
build-arm-macos-xcode:
|
||||
runs-on: macos-14
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install deps
|
||||
run: |
|
||||
source ./util/ci/common.sh
|
||||
install_macos_deps
|
||||
# brew jsoncpp do not include libjsoncpp.a, and if installed header conflict caused build failure
|
||||
brew uninstall jsoncpp
|
||||
|
||||
- name: Build with Cmake
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. \
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=14 \
|
||||
-DCMAKE_FIND_FRAMEWORK=LAST \
|
||||
-DCMAKE_INSTALL_PREFIX=../build/macos/ \
|
||||
-DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE \
|
||||
-DENABLE_SYSTEM_JSONCPP=OFF
|
||||
cmake --build . -j$(sysctl -n hw.logicalcpu)
|
||||
make install
|
||||
|
||||
- name: Build and Archive with Xcode
|
||||
run: |
|
||||
mkdir build_xcode
|
||||
cd build_xcode
|
||||
../util/ci/build_xcode.sh
|
||||
|
||||
- name: Tests
|
||||
run: |
|
||||
mkdir -p "${HOME}/Library/Application Support/minetest/games/"
|
||||
ln -s "${PWD}/games/devtest" "${HOME}/Library/Application Support/minetest/games/"
|
||||
./build/macos/luanti.app/Contents/MacOS/luanti --run-unittests
|
||||
./build_xcode/luanti.xcarchive/Products/Applications/luanti.app/Contents/MacOS/luanti --run-unittests
|
||||
|
||||
- name: Diff Resources
|
||||
run: |
|
||||
diff -rd ./build/macos/luanti.app/Contents/Resources ./build_xcode/build/Release/luanti.app/Contents/Resources || exit 1
|
||||
diff -rd ./build/macos/luanti.app/Contents/Resources ./build_xcode/luanti.xcarchive/Products/Applications/luanti.app/Contents/Resources || exit 1
|
||||
|
||||
2
.github/workflows/windows.yml
vendored
2
.github/workflows/windows.yml
vendored
@@ -12,6 +12,7 @@ on:
|
||||
- 'irr/**.cpp'
|
||||
- '**/CMakeLists.txt'
|
||||
- 'cmake/Modules/**'
|
||||
- 'po/**.po'
|
||||
- 'util/buildbot/**'
|
||||
- 'misc/*.manifest'
|
||||
- '.github/workflows/windows.yml'
|
||||
@@ -25,6 +26,7 @@ on:
|
||||
- 'irr/**.cpp'
|
||||
- '**/CMakeLists.txt'
|
||||
- 'cmake/Modules/**'
|
||||
- 'po/**.po'
|
||||
- 'util/buildbot/**'
|
||||
- 'misc/*.manifest'
|
||||
- '.github/workflows/windows.yml'
|
||||
|
||||
@@ -16,7 +16,7 @@ set(VERSION_PATCH 0)
|
||||
set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string")
|
||||
|
||||
# Change to false for releases
|
||||
set(DEVELOPMENT_BUILD TRUE)
|
||||
set(DEVELOPMENT_BUILD FALSE)
|
||||
|
||||
set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
|
||||
if(VERSION_EXTRA)
|
||||
@@ -272,12 +272,16 @@ endif()
|
||||
|
||||
if(APPLE)
|
||||
install(FILES "misc/luanti-icon.icns" DESTINATION "${SHAREDIR}")
|
||||
install(FILES "misc/Info.plist" DESTINATION "${BUNDLE_PATH}/Contents")
|
||||
install(FILES "${CMAKE_BINARY_DIR}/Info.plist" DESTINATION "${BUNDLE_PATH}/Contents")
|
||||
endif()
|
||||
|
||||
if(CMAKE_GENERATOR STREQUAL "Xcode")
|
||||
set(client_RESOURCES "${CMAKE_SOURCE_DIR}/misc/luanti-icon.icns")
|
||||
endif()
|
||||
|
||||
# Library pack
|
||||
find_package(GMP REQUIRED)
|
||||
find_package(Json REQUIRED)
|
||||
find_package(Json 1.0.0 REQUIRED)
|
||||
find_package(Lua REQUIRED)
|
||||
if(NOT USE_LUAJIT)
|
||||
add_subdirectory(lib/bitop)
|
||||
|
||||
@@ -27,7 +27,7 @@ Further documentation
|
||||
----------------------
|
||||
- Website: https://www.minetest.net/
|
||||
- Wiki: https://wiki.minetest.net/
|
||||
- Forum: https://forum.minetest.net/
|
||||
- Forum: https://forum.luanti.org/
|
||||
- GitHub: https://github.com/minetest/minetest/
|
||||
- [Developer documentation](doc/developing/)
|
||||
- [doc/](doc/) directory of source distribution
|
||||
|
||||
11
android/app/src/main/res/values-es-rUS/strings.xml
Normal file
11
android/app/src/main/res/values-es-rUS/strings.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="unzip_notification_description">Menos de 1 minuto…</string>
|
||||
<string name="ime_dialog_done">Hecho</string>
|
||||
<string name="no_web_browser">No se encontró ningún navegador web</string>
|
||||
<string name="loading">Cargando…</string>
|
||||
<string name="notification_channel_name">Notificación General</string>
|
||||
<string name="label">Luanti</string>
|
||||
<string name="notification_channel_description">Notificaciones de Luanti</string>
|
||||
<string name="unzip_notification_title">Cargando Luanti</string>
|
||||
</resources>
|
||||
11
android/app/src/main/res/values-es/strings.xml
Normal file
11
android/app/src/main/res/values-es/strings.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="no_web_browser">No se encontró ningún navegador web</string>
|
||||
<string name="loading">Cargando…</string>
|
||||
<string name="notification_channel_description">Notificaciones de Luanti</string>
|
||||
<string name="unzip_notification_description">Menos de 1 minuto…</string>
|
||||
<string name="ime_dialog_done">Hecho</string>
|
||||
<string name="label">Luanti</string>
|
||||
<string name="unzip_notification_title">Cargando Luanti</string>
|
||||
<string name="notification_channel_name">Notificación General</string>
|
||||
</resources>
|
||||
11
android/app/src/main/res/values-ru/strings.xml
Normal file
11
android/app/src/main/res/values-ru/strings.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="unzip_notification_title">Загрузка Luanti</string>
|
||||
<string name="unzip_notification_description">Меньше чам за 1 минуту…</string>
|
||||
<string name="ime_dialog_done">Готово</string>
|
||||
<string name="label">Luаnti</string>
|
||||
<string name="notification_channel_description">Уведомления от Luanti</string>
|
||||
<string name="notification_channel_name">Основные уведомления</string>
|
||||
<string name="loading">Загрузка…</string>
|
||||
<string name="no_web_browser">Не найдено веб-браузера</string>
|
||||
</resources>
|
||||
@@ -563,30 +563,32 @@ function contentdb.filter_packages(query, by_type)
|
||||
end
|
||||
|
||||
local keywords = {}
|
||||
for word in query:lower():gmatch("%S+") do
|
||||
table.insert(keywords, word)
|
||||
for word in query:gmatch("%S+") do
|
||||
table.insert(keywords, word:lower())
|
||||
end
|
||||
|
||||
local function contains_all_keywords(str)
|
||||
str = str:lower()
|
||||
for _, keyword in ipairs(keywords) do
|
||||
if not str:find(keyword, 1, true) then
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
local function matches_keywords(package)
|
||||
for k = 1, #keywords do
|
||||
local keyword = keywords[k]
|
||||
|
||||
if string.find(package.name:lower(), keyword, 1, true) or
|
||||
string.find(package.title:lower(), keyword, 1, true) or
|
||||
string.find(package.author:lower(), keyword, 1, true) or
|
||||
string.find(package.short_description:lower(), keyword, 1, true) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
return false
|
||||
return contains_all_keywords(package.name) or
|
||||
contains_all_keywords(package.title) or
|
||||
contains_all_keywords(package.author) or
|
||||
contains_all_keywords(package.short_description)
|
||||
end
|
||||
|
||||
contentdb.packages = {}
|
||||
for _, package in pairs(contentdb.packages_full) do
|
||||
if (query == "" or matches_keywords(package)) and
|
||||
(by_type == nil or package.type == by_type) then
|
||||
contentdb.packages[#contentdb.packages + 1] = package
|
||||
table.insert(contentdb.packages, package)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -51,10 +51,6 @@ local function get_formspec(data)
|
||||
return
|
||||
end
|
||||
|
||||
if info.forums then
|
||||
info.forums = "https://forum.minetest.net/viewtopic.php?t=" .. info.forums
|
||||
end
|
||||
|
||||
assert(data.package.name == info.name)
|
||||
data.info = info
|
||||
ui.update()
|
||||
@@ -194,7 +190,7 @@ local function get_formspec(data)
|
||||
add_link_button(fgettext("Source"), "repo")
|
||||
add_link_button(fgettext("Issue Tracker"), "issue_tracker")
|
||||
add_link_button(fgettext("Translate"), "translation_url")
|
||||
add_link_button(fgettext("Forum Topic"), "forums")
|
||||
add_link_button(fgettext("Forum Topic"), "forum_url")
|
||||
|
||||
hypertext = hypertext .. "\n\n" .. info.long_description.body
|
||||
|
||||
|
||||
@@ -13,7 +13,9 @@
|
||||
"Desour/DS",
|
||||
"srifqi",
|
||||
"Gregor Parzefall (grorp)",
|
||||
"Lars Müller (luatic)"
|
||||
"Lars Müller (luatic)",
|
||||
"cx384",
|
||||
"sfence"
|
||||
],
|
||||
"previous_core_developers": [
|
||||
"BlockMen",
|
||||
@@ -44,30 +46,25 @@
|
||||
],
|
||||
"#": "For updating active/previous contributors, see the script in ./util/gather_git_credits.py",
|
||||
"contributors": [
|
||||
"cx384",
|
||||
"numzero",
|
||||
"AFCMS",
|
||||
"sfence",
|
||||
"Wuzzy",
|
||||
"ROllerozxa",
|
||||
"JosiahWI",
|
||||
"OgelGames",
|
||||
"David Heidelberg",
|
||||
"1F616EMO",
|
||||
"HybridDog",
|
||||
"Bradley Pierce (Thresher)",
|
||||
"savilli",
|
||||
"Stvk imension",
|
||||
"y5nw",
|
||||
"Erich Schubert",
|
||||
"numzero",
|
||||
"red-001 <red-001@outlook.ie>",
|
||||
"David Heidelberg",
|
||||
"Wuzzy",
|
||||
"paradust7",
|
||||
"HybridDog",
|
||||
"Zemtzov7",
|
||||
"kromka-chleba",
|
||||
"AFCMS",
|
||||
"chmodsayshello",
|
||||
"jordan4ibanez",
|
||||
"superfloh247"
|
||||
"OgelGames"
|
||||
],
|
||||
"previous_contributors": [
|
||||
"Ælla Chiana Moskopp (erle) <erle@dieweltistgarnichtso.net> [Logo]",
|
||||
"red-001 <red-001@outlook.ie>",
|
||||
"Giuseppe Bilotta",
|
||||
"HybridDog",
|
||||
"ClobberXD",
|
||||
"Dániel Juhász (juhdanad) <juhdanad@gmail.com>",
|
||||
"MirceaKitsune <mirceakitsune@gmail.com>",
|
||||
@@ -75,6 +72,7 @@
|
||||
"MoNTE48",
|
||||
"Constantin Wenger (SpeedProg)",
|
||||
"Ciaran Gultnieks (CiaranG)",
|
||||
"ROllerozxa",
|
||||
"Paul Ouellette (pauloue)",
|
||||
"stujones11",
|
||||
"Rogier <rogier777@gmail.com>",
|
||||
|
||||
@@ -195,8 +195,7 @@ local function search_server_list(input)
|
||||
-- setup the keyword list
|
||||
local keywords = {}
|
||||
for word in input:gmatch("%S+") do
|
||||
word = word:gsub("(%W)", "%%%1")
|
||||
table.insert(keywords, word)
|
||||
table.insert(keywords, word:lower())
|
||||
end
|
||||
|
||||
if #keywords == 0 then
|
||||
@@ -207,26 +206,17 @@ local function search_server_list(input)
|
||||
|
||||
-- Search the serverlist
|
||||
local search_result = {}
|
||||
for i = 1, #serverlistmgr.servers do
|
||||
local server = serverlistmgr.servers[i]
|
||||
local found = 0
|
||||
for k = 1, #keywords do
|
||||
local keyword = keywords[k]
|
||||
if server.name then
|
||||
local sername = server.name:lower()
|
||||
local _, count = sername:gsub(keyword, keyword)
|
||||
found = found + count * 4
|
||||
end
|
||||
|
||||
if server.description then
|
||||
local desc = server.description:lower()
|
||||
local _, count = desc:gsub(keyword, keyword)
|
||||
found = found + count * 2
|
||||
end
|
||||
for i, server in ipairs(serverlistmgr.servers) do
|
||||
local name_matches, description_matches = true, true
|
||||
for _, keyword in ipairs(keywords) do
|
||||
name_matches = name_matches and not not
|
||||
(server.name or ""):lower():find(keyword, 1, true)
|
||||
description_matches = description_matches and not not
|
||||
(server.description or ""):lower():find(keyword, 1, true)
|
||||
end
|
||||
if found > 0 then
|
||||
local points = (#serverlistmgr.servers - i) / 5 + found
|
||||
server.points = points
|
||||
if name_matches or description_matches then
|
||||
server.points = #serverlistmgr.servers - i
|
||||
+ (name_matches and 50 or 0)
|
||||
table.insert(search_result, server)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -762,7 +762,7 @@ chat_font_size (Chat font size) int 0 0 72
|
||||
[**Content Repository]
|
||||
|
||||
# The URL for the content repository
|
||||
contentdb_url (ContentDB URL) string https://content.minetest.net
|
||||
contentdb_url (ContentDB URL) string https://content.luanti.org
|
||||
|
||||
# If enabled and you have ContentDB packages installed, Luanti may contact ContentDB to
|
||||
# check for package updates when opening the mainmenu.
|
||||
@@ -773,7 +773,7 @@ contentdb_enable_updates_indicator (Enable updates available indicator on conten
|
||||
# as defined by the Free Software Foundation.
|
||||
# You can also specify content ratings.
|
||||
# These flags are independent from Luanti versions,
|
||||
# so see a full list at https://content.minetest.net/help/content_flags/
|
||||
# so see a full list at https://content.luanti.org/help/content_flags/
|
||||
contentdb_flag_blacklist (ContentDB Flag Blacklist) string nonfree, desktop_default
|
||||
|
||||
# Maximum number of concurrent downloads. Downloads exceeding this limit will be queued.
|
||||
@@ -789,7 +789,7 @@ contentdb_max_concurrent_downloads (ContentDB Max Concurrent Downloads) int 3 1
|
||||
enable_local_map_saving (Saving map received from server) bool false
|
||||
|
||||
# URL to the server list displayed in the Multiplayer Tab.
|
||||
serverlist_url (Serverlist URL) string servers.minetest.net
|
||||
serverlist_url (Serverlist URL) string servers.luanti.org
|
||||
|
||||
# If enabled, account registration is separate from login in the UI.
|
||||
# If disabled, new accounts will be registered automatically when logging in.
|
||||
@@ -815,10 +815,10 @@ server_name (Server name) string Luanti server
|
||||
server_description (Server description) string mine here
|
||||
|
||||
# Domain name of server, to be displayed in the serverlist.
|
||||
server_address (Server address) string game.minetest.net
|
||||
server_address (Server address) string game.example.net
|
||||
|
||||
# Homepage of server, to be displayed in the serverlist.
|
||||
server_url (Server URL) string https://minetest.net
|
||||
server_url (Server URL) string https://game.example.net
|
||||
|
||||
# Automatically report to the serverlist.
|
||||
server_announce (Announce server) bool false
|
||||
@@ -827,7 +827,7 @@ server_announce (Announce server) bool false
|
||||
server_announce_send_players (Send player names to the server list) bool true
|
||||
|
||||
# Announce to this serverlist.
|
||||
serverlist_url (Serverlist URL) string servers.minetest.net
|
||||
serverlist_url (Serverlist URL) string servers.luanti.org
|
||||
|
||||
# Message of the day displayed to players connecting.
|
||||
motd (Message of the day) string
|
||||
|
||||
@@ -16,11 +16,13 @@ brew install cmake freetype gettext gmp hiredis jpeg-turbo jsoncpp leveldb libog
|
||||
Download source (this is the URL to the latest of source repository, which might not work at all times) using Git:
|
||||
|
||||
```bash
|
||||
git clone --depth 1 https://github.com/minetest/minetest.git
|
||||
cd minetest
|
||||
git clone --depth 1 https://github.com/minetest/minetest.git luanti
|
||||
cd luanti
|
||||
```
|
||||
|
||||
## Build
|
||||
## Building for personal usage
|
||||
|
||||
### Build
|
||||
|
||||
```bash
|
||||
mkdir build
|
||||
@@ -34,12 +36,65 @@ cmake .. \
|
||||
make -j$(sysctl -n hw.logicalcpu)
|
||||
make install
|
||||
|
||||
# M1 Macs w/ MacOS >= BigSur
|
||||
codesign --force --deep -s - macos/minetest.app
|
||||
# Apple Silicon (M1/M2) Macs w/ MacOS >= BigSur signature for local run
|
||||
codesign --force --deep -s - --entitlements ../misc/macos/entitlements/debug.entitlements macos/luanti.app
|
||||
```
|
||||
|
||||
## Run
|
||||
If you are using LuaJIT with `MAP_JIT` support use `debug_map_jit.entitlements`.
|
||||
|
||||
### Run
|
||||
|
||||
```
|
||||
open ./build/macos/minetest.app
|
||||
open ./build/macos/luanti.app
|
||||
```
|
||||
|
||||
## Building for distribution
|
||||
|
||||
### Generate Xcode project
|
||||
|
||||
```bash
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
cmake .. \
|
||||
-DCMAKE_FIND_FRAMEWORK=LAST \
|
||||
-DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE \
|
||||
-DFREETYPE_LIBRARY=/path/to/lib/dir/libfreetype.a \
|
||||
-DGETTEXT_INCLUDE_DIR=/path/to/include/dir \
|
||||
-DGETTEXT_LIBRARY=/path/to/lib/dir/libintl.a \
|
||||
-DLUA_LIBRARY=/path/to/lib/dir/libluajit-5.1.a \
|
||||
-DOGG_LIBRARY=/path/to/lib/dir/libogg.a \
|
||||
-DVORBIS_LIBRARY=/path/to/lib/dir/libvorbis.a \
|
||||
-DVORBISFILE_LIBRARY=/path/to/lib/dir/libvorbisfile.a \
|
||||
-DZSTD_LIBRARY=/path/to/lib/dir/libzstd.a \
|
||||
-DGMP_LIBRARY=/path/to/lib/dir/libgmp.a \
|
||||
-DJSON_LIBRARY=/path/to/lib/dir/libjsoncpp.a \
|
||||
-DENABLE_LEVELDB=OFF \
|
||||
-DENABLE_POSTGRESQL=OFF \
|
||||
-DENABLE_REDIS=OFF \
|
||||
-DJPEG_LIBRARY=/path/to/lib/dir/libjpeg.a \
|
||||
-DPNG_LIBRARY=/path/to/lib/dir/libpng.a \
|
||||
-DCMAKE_EXE_LINKER_FLAGS=-lbz2\
|
||||
-GXcode
|
||||
```
|
||||
|
||||
If you are using LuaJIT with `MAP_JIT` support add `-DXCODE_CODE_SIGN_ENTITLEMENTS=../misc/macos/entitlements/release_map_jit.entitlements`.
|
||||
|
||||
*WARNING:* You have to regenerate Xcode project if you switch commit, branch or etc.
|
||||
|
||||
### Build and Run
|
||||
|
||||
* Open generated Xcode project
|
||||
* Select scheme `luanti`
|
||||
* Configure signing Team etc.
|
||||
* Run Build command
|
||||
* Open application from `build/build/Debug/` directory or run it from Xcode
|
||||
|
||||
### Archive and Run
|
||||
|
||||
* Open generated Xcode project
|
||||
* Select scheme `luanti`
|
||||
* Configure signing Team etc.
|
||||
* Run Build command
|
||||
* Open application archive in finder, go into it, copy application and test it.
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ 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 roadmap](https://forum.luanti.org/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)
|
||||
* [Core developer to-do/wish lists](https://forum.luanti.org/viewforum.php?f=7)
|
||||
|
||||
## 2. Medium-term Roadmap
|
||||
|
||||
|
||||
@@ -312,9 +312,7 @@ due to their space savings.
|
||||
This means that many glTF features are not supported *yet*, including:
|
||||
|
||||
* Animations
|
||||
* Only a single animation is supported,
|
||||
use frame ranges within this animation.
|
||||
* Only integer frames are supported.
|
||||
* Only a single animation is supported, use frame ranges within this animation.
|
||||
* Cameras
|
||||
* Materials
|
||||
* Only base color textures are supported
|
||||
@@ -8246,7 +8244,13 @@ child will follow movement and rotation of that bone.
|
||||
object.
|
||||
* `set_detach()`: Detaches object. No-op if object was not attached.
|
||||
* `set_bone_position([bone, position, rotation])`
|
||||
* Shorthand for `set_bone_override(bone, {position = position, rotation = rotation:apply(math.rad)})` using absolute values.
|
||||
* Sets absolute bone overrides, e.g. it is equivalent to
|
||||
```lua
|
||||
obj:set_bone_override(bone, {
|
||||
position = {vec = position, absolute = true},
|
||||
rotation = {vec = rotation:apply(math.rad), absolute = true}
|
||||
})
|
||||
```
|
||||
* **Note:** Rotation is in degrees, not radians.
|
||||
* **Deprecated:** Use `set_bone_override` instead.
|
||||
* `get_bone_position(bone)`: returns the previously set position and rotation of the bone
|
||||
@@ -8256,15 +8260,18 @@ child will follow movement and rotation of that bone.
|
||||
* `set_bone_override(bone, override)`
|
||||
* `bone`: string
|
||||
* `override`: `{ position = property, rotation = property, scale = property }` or `nil`
|
||||
* `property`: `{ vec = vector, interpolation = 0, absolute = false}` or `nil`;
|
||||
* `vec` is in the same coordinate system as the model, and in degrees for rotation
|
||||
* `property = nil` is equivalent to no override on that property
|
||||
* `absolute`: If set to `false`, the override will be relative to the animated property:
|
||||
* Transposition in the case of `position`;
|
||||
* Composition in the case of `rotation`;
|
||||
* Multiplication in the case of `scale`
|
||||
* `interpolation`: Old and new values are interpolated over this timeframe (in seconds)
|
||||
* `override = nil` (including omission) is shorthand for `override = {}` which clears the override
|
||||
* Each `property` is a table of the form
|
||||
`{ vec = vector, interpolation = 0, absolute = false }` or `nil`
|
||||
* `vec` is in the same coordinate system as the model, and in radians for rotation.
|
||||
It defaults to `vector.zero()` for translation and rotation and `vector.new(1, 1, 1)` for scale.
|
||||
* `interpolation`: The old and new overrides are interpolated over this timeframe (in seconds).
|
||||
* `absolute`: If set to `false` (which is the default),
|
||||
the override will be relative to the animated property:
|
||||
* Translation in the case of `position`;
|
||||
* Composition in the case of `rotation`;
|
||||
* Per-axis multiplication in the case of `scale`
|
||||
* `property = nil` is equivalent to no override on that property
|
||||
* **Note:** Unlike `set_bone_position`, the rotation is in radians, not degrees.
|
||||
* Compatibility note: Clients prior to 5.9.0 only support absolute position and rotation.
|
||||
All values are treated as absolute and are set immediately (no interpolation).
|
||||
|
||||
7
fastlane/metadata/android/en-US/full_description.txt
Normal file
7
fastlane/metadata/android/en-US/full_description.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Luanti is a voxel-based game platform with multiplayer capabilities.
|
||||
|
||||
The objective of the available games varies, from sandbox games where you can explore, dig and build in a very large voxel world, to arcade-style games.
|
||||
|
||||
There is a wide range of built-in map generators for procedurally generated terrain, and voxel-based lighting that adapts to the environment and light sources.
|
||||
|
||||
All games and mods are written in Lua with a scripting API that is easy to use and makes it easy for modders to get started.
|
||||
BIN
fastlane/metadata/android/en-US/images/icon.png
Normal file
BIN
fastlane/metadata/android/en-US/images/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.4 KiB |
1
fastlane/metadata/android/en-US/short_description.txt
Normal file
1
fastlane/metadata/android/en-US/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Voxel-based multiplayer game platform
|
||||
1
fastlane/metadata/android/en-US/title.txt
Normal file
1
fastlane/metadata/android/en-US/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Luanti
|
||||
@@ -669,7 +669,7 @@ void SelfType::MeshExtractor::loadAnimation(const std::size_t animIdx)
|
||||
|
||||
const auto &sampler = anim.samplers.at(channel.sampler);
|
||||
if (sampler.interpolation != tiniergltf::AnimationSampler::Interpolation::LINEAR)
|
||||
throw std::runtime_error("unsupported interpolation");
|
||||
throw std::runtime_error("unsupported interpolation, only linear interpolation is supported");
|
||||
|
||||
const auto inputAccessor = Accessor<f32>::make(m_gltf_model, sampler.input);
|
||||
const auto n_frames = inputAccessor.getCount();
|
||||
|
||||
@@ -181,27 +181,16 @@ IImage *CImageLoaderTGA::loadImage(io::IReadFile *file) const
|
||||
header.ImageWidth, header.ImageHeight,
|
||||
0, 0, (header.ImageDescriptor & 0x20) == 0);
|
||||
} else {
|
||||
switch (header.ColorMapEntrySize) {
|
||||
case 16:
|
||||
image = new CImage(ECF_A1R5G5B5, core::dimension2d<u32>(header.ImageWidth, header.ImageHeight));
|
||||
if (image)
|
||||
CColorConverter::convert8BitTo16Bit((u8 *)data,
|
||||
(s16 *)image->getData(),
|
||||
header.ImageWidth, header.ImageHeight,
|
||||
(s32 *)palette, 0,
|
||||
(header.ImageDescriptor & 0x20) == 0);
|
||||
break;
|
||||
// Note: 24 bit with palette would need a 24 bit palette, too lazy doing that now (textures will prefer 32-bit later anyway)
|
||||
default:
|
||||
image = new CImage(ECF_A8R8G8B8, core::dimension2d<u32>(header.ImageWidth, header.ImageHeight));
|
||||
if (image)
|
||||
CColorConverter::convert8BitTo32Bit((u8 *)data,
|
||||
(u8 *)image->getData(),
|
||||
header.ImageWidth, header.ImageHeight,
|
||||
(u8 *)palette, 0,
|
||||
(header.ImageDescriptor & 0x20) == 0);
|
||||
break;
|
||||
}
|
||||
// Colormap is converted to A8R8G8B8 at this point – thus the code can handle all color formats.
|
||||
// This wastes some texture memory, but is less of a third of the code that does this optimally.
|
||||
// If you want to refactor this: The possible color formats here are A1R5G5B5, B8G8R8, B8G8R8A8.
|
||||
image = new CImage(ECF_A8R8G8B8, core::dimension2d<u32>(header.ImageWidth, header.ImageHeight));
|
||||
if (image)
|
||||
CColorConverter::convert8BitTo32Bit((u8 *)data,
|
||||
(u8 *)image->getData(),
|
||||
header.ImageWidth, header.ImageHeight,
|
||||
(u8 *)palette, 0,
|
||||
(header.ImageDescriptor & 0x20) == 0);
|
||||
}
|
||||
} break;
|
||||
case 16:
|
||||
|
||||
@@ -313,21 +313,6 @@ add_library(IRRMESHOBJ OBJECT
|
||||
|
||||
target_link_libraries(IRRMESHOBJ PUBLIC tiniergltf::tiniergltf)
|
||||
|
||||
add_library(IRROBJ OBJECT
|
||||
CBillboardSceneNode.cpp
|
||||
CCameraSceneNode.cpp
|
||||
CDummyTransformationSceneNode.cpp
|
||||
CEmptySceneNode.cpp
|
||||
CMeshManipulator.cpp
|
||||
CSceneCollisionManager.cpp
|
||||
CSceneManager.cpp
|
||||
CMeshCache.cpp
|
||||
)
|
||||
|
||||
# Make sure IRROBJ gets the transitive include directories for
|
||||
# tiniergltf from IRRMESHOBJ.
|
||||
target_link_libraries(IRROBJ PRIVATE IRRMESHOBJ)
|
||||
|
||||
set(IRRDRVROBJ
|
||||
CNullDriver.cpp
|
||||
CGLXManager.cpp
|
||||
@@ -460,14 +445,29 @@ add_library(IRRGUIOBJ OBJECT
|
||||
|
||||
# Library
|
||||
|
||||
add_library(IrrlichtMt STATIC)
|
||||
# There have to be some sources in IrrlichtMt to workaround Cmake Xcode generator bug
|
||||
add_library(IrrlichtMt STATIC
|
||||
CBillboardSceneNode.cpp
|
||||
CCameraSceneNode.cpp
|
||||
CDummyTransformationSceneNode.cpp
|
||||
CEmptySceneNode.cpp
|
||||
CMeshManipulator.cpp
|
||||
CSceneCollisionManager.cpp
|
||||
CSceneManager.cpp
|
||||
CMeshCache.cpp
|
||||
)
|
||||
foreach(object_lib
|
||||
IRRMESHOBJ IRROBJ IRRVIDEOOBJ
|
||||
IRRMESHOBJ IRRVIDEOOBJ
|
||||
IRRIOOBJ IRROTHEROBJ IRRGUIOBJ)
|
||||
# Set include directories for object library compilation
|
||||
target_include_directories(${object_lib} PRIVATE ${link_includes})
|
||||
# Add objects from object library to main library
|
||||
target_sources(IrrlichtMt PRIVATE $<TARGET_OBJECTS:${object_lib}>)
|
||||
if(CMAKE_GENERATOR STREQUAL "Xcode")
|
||||
# Workaround for Cmake Xcode project generator
|
||||
target_link_libraries(IrrlichtMt PRIVATE ${object_lib})
|
||||
else()
|
||||
# Add objects from object library to main library
|
||||
target_sources(IrrlichtMt PRIVATE $<TARGET_OBJECTS:${object_lib}>)
|
||||
endif()
|
||||
|
||||
if(BUILD_WITH_TRACY)
|
||||
target_link_libraries(${object_lib} PRIVATE Tracy::TracyClient)
|
||||
|
||||
@@ -108,9 +108,7 @@ CNullDriver::CNullDriver(io::IFileSystem *io, const core::dimension2d<u32> &scre
|
||||
InitMaterial2D.ZBuffer = video::ECFN_DISABLED;
|
||||
InitMaterial2D.UseMipMaps = false;
|
||||
InitMaterial2D.forEachTexture([](auto &tex) {
|
||||
// Using ETMINF_LINEAR_MIPMAP_NEAREST (bilinear) for 2D graphics looks
|
||||
// much better and doesn't have any downsides (e.g. regarding pixel art).
|
||||
tex.MinFilter = video::ETMINF_LINEAR_MIPMAP_NEAREST;
|
||||
tex.MinFilter = video::ETMINF_NEAREST_MIPMAP_NEAREST;
|
||||
tex.MagFilter = video::ETMAGF_NEAREST;
|
||||
tex.TextureWrapU = video::ETC_REPEAT;
|
||||
tex.TextureWrapV = video::ETC_REPEAT;
|
||||
|
||||
@@ -24,39 +24,21 @@ class COGLESCoreExtensionHandler
|
||||
enum EOGLESFeatures
|
||||
{
|
||||
// If you update this enum also update the corresponding OGLESFeatureStrings string-array
|
||||
IRR_GL_APPLE_texture_2D_limited_npot,
|
||||
IRR_GL_APPLE_texture_format_BGRA8888,
|
||||
IRR_GL_EXT_blend_minmax,
|
||||
IRR_GL_EXT_read_format_bgra,
|
||||
IRR_GL_EXT_texture_filter_anisotropic,
|
||||
IRR_GL_EXT_texture_format_BGRA8888,
|
||||
IRR_GL_EXT_texture_lod_bias,
|
||||
IRR_GL_EXT_texture_rg,
|
||||
IRR_GL_IMG_read_format,
|
||||
IRR_GL_IMG_texture_format_BGRA8888,
|
||||
IRR_GL_IMG_user_clip_plane,
|
||||
IRR_GL_OES_blend_func_separate,
|
||||
IRR_GL_OES_blend_subtract,
|
||||
IRR_GL_OES_depth_texture,
|
||||
IRR_GL_OES_depth24,
|
||||
IRR_GL_OES_depth32,
|
||||
IRR_GL_OES_element_index_uint,
|
||||
IRR_GL_OES_framebuffer_object,
|
||||
IRR_GL_OES_packed_depth_stencil,
|
||||
IRR_GL_OES_point_size_array,
|
||||
IRR_GL_OES_point_sprite,
|
||||
IRR_GL_OES_read_format,
|
||||
IRR_GL_OES_stencil_wrap,
|
||||
IRR_GL_OES_texture_float,
|
||||
IRR_GL_OES_texture_half_float,
|
||||
IRR_GL_OES_texture_mirrored_repeat,
|
||||
IRR_GL_OES_texture_npot,
|
||||
|
||||
IRR_OGLES_Feature_Count
|
||||
};
|
||||
|
||||
COGLESCoreExtensionHandler() :
|
||||
Version(0), MaxAnisotropy(1), MaxIndices(0xffff),
|
||||
MaxAnisotropy(1), MaxIndices(0xffff),
|
||||
MaxTextureSize(1), MaxTextureLODBias(0.f), StencilBuffer(false)
|
||||
{
|
||||
for (u32 i = 0; i < IRR_OGLES_Feature_Count; ++i)
|
||||
@@ -81,99 +63,27 @@ class COGLESCoreExtensionHandler
|
||||
os::Printer::log(getFeatureString(i), FeatureAvailable[i] ? " true" : " false");
|
||||
}
|
||||
|
||||
bool queryGLESFeature(EOGLESFeatures feature) const
|
||||
{
|
||||
return FeatureAvailable[feature];
|
||||
}
|
||||
|
||||
protected:
|
||||
const char *getFeatureString(size_t index) const
|
||||
{
|
||||
// One for each EOGLESFeatures
|
||||
static const char *const OGLESFeatureStrings[IRR_OGLES_Feature_Count] = {
|
||||
"GL_APPLE_texture_2D_limited_npot",
|
||||
"GL_APPLE_texture_format_BGRA8888",
|
||||
"GL_EXT_blend_minmax",
|
||||
"GL_EXT_read_format_bgra",
|
||||
"GL_EXT_texture_filter_anisotropic",
|
||||
"GL_EXT_texture_format_BGRA8888",
|
||||
"GL_EXT_texture_lod_bias",
|
||||
"GL_EXT_texture_rg",
|
||||
"GL_IMG_read_format",
|
||||
"GL_IMG_texture_format_BGRA8888",
|
||||
"GL_IMG_user_clip_plane",
|
||||
"GL_OES_blend_func_separate",
|
||||
"GL_OES_blend_subtract",
|
||||
"GL_OES_depth_texture",
|
||||
"GL_OES_depth24",
|
||||
"GL_OES_depth32",
|
||||
"GL_OES_element_index_uint",
|
||||
"GL_OES_framebuffer_object",
|
||||
"GL_OES_packed_depth_stencil",
|
||||
"GL_OES_point_size_array",
|
||||
"GL_OES_point_sprite",
|
||||
"GL_OES_read_format",
|
||||
"GL_OES_stencil_wrap",
|
||||
"GL_OES_texture_float",
|
||||
"GL_OES_texture_half_float",
|
||||
"GL_OES_texture_mirrored_repeat",
|
||||
"GL_OES_texture_npot",
|
||||
};
|
||||
|
||||
return OGLESFeatureStrings[index];
|
||||
}
|
||||
|
||||
void getGLVersion()
|
||||
{
|
||||
Version = 0;
|
||||
s32 multiplier = 100;
|
||||
|
||||
core::stringc version(glGetString(GL_VERSION));
|
||||
|
||||
for (u32 i = 0; i < version.size(); ++i) {
|
||||
if (version[i] >= '0' && version[i] <= '9') {
|
||||
if (multiplier > 1) {
|
||||
Version += static_cast<u16>(core::floor32(atof(&(version[i]))) * multiplier);
|
||||
multiplier /= 10;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void getGLExtensions()
|
||||
{
|
||||
core::stringc extensions = glGetString(GL_EXTENSIONS);
|
||||
os::Printer::log(extensions.c_str());
|
||||
|
||||
const u32 size = extensions.size() + 1;
|
||||
c8 *str = new c8[size];
|
||||
strncpy(str, extensions.c_str(), extensions.size());
|
||||
str[extensions.size()] = ' ';
|
||||
c8 *p = str;
|
||||
|
||||
for (u32 i = 0; i < size; ++i) {
|
||||
if (str[i] == ' ') {
|
||||
str[i] = 0;
|
||||
if (*p)
|
||||
for (size_t j = 0; j < IRR_OGLES_Feature_Count; ++j) {
|
||||
if (!strcmp(getFeatureString(j), p)) {
|
||||
FeatureAvailable[j] = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
p = p + strlen(p) + 1;
|
||||
}
|
||||
}
|
||||
|
||||
delete[] str;
|
||||
}
|
||||
|
||||
COpenGLCoreFeature Feature;
|
||||
|
||||
u16 Version;
|
||||
u8 MaxAnisotropy;
|
||||
u32 MaxIndices;
|
||||
u32 MaxTextureSize;
|
||||
|
||||
@@ -297,6 +297,7 @@ class COpenGLCoreTexture : public ITexture
|
||||
delete[] tmpBuffer;
|
||||
}
|
||||
#elif defined(IRR_COMPILE_GLES2_COMMON)
|
||||
// TODO: revive this code
|
||||
COpenGLCoreTexture *tmpTexture = new COpenGLCoreTexture("OGL_CORE_LOCK_TEXTURE", Size, ETT_2D, ColorFormat, Driver);
|
||||
|
||||
GLuint tmpFBO = 0;
|
||||
|
||||
@@ -401,8 +401,10 @@ bool COpenGLSLMaterialRenderer::linkProgram()
|
||||
#endif
|
||||
|
||||
if (maxlen == 0) {
|
||||
os::Printer::log("GLSL (> 2.x): failed to retrieve uniform information", ELL_ERROR);
|
||||
return false;
|
||||
// Intel driver bug that seems to primarily happen on Win 8.1 or older:
|
||||
// There are >0 uniforms yet the driver reports a max name length of 0.
|
||||
os::Printer::log("GLSL (> 2.x): failed to retrieve uniform information", ELL_WARNING);
|
||||
maxlen = 256; // hope that this is enough
|
||||
}
|
||||
|
||||
// seems that some implementations use an extra null terminator
|
||||
@@ -471,8 +473,10 @@ bool COpenGLSLMaterialRenderer::linkProgram()
|
||||
#endif
|
||||
|
||||
if (maxlen == 0) {
|
||||
os::Printer::log("GLSL: failed to retrieve uniform information", ELL_ERROR);
|
||||
return false;
|
||||
// Intel driver bug that seems to primarily happen on Win 8.1 or older:
|
||||
// There are >0 uniforms yet the driver reports a max name length of 0.
|
||||
os::Printer::log("GLSL: failed to retrieve uniform information", ELL_WARNING);
|
||||
maxlen = 256; // hope that this is enough
|
||||
}
|
||||
|
||||
// seems that some implementations use an extra null terminator
|
||||
|
||||
@@ -140,28 +140,29 @@ IAnimatedMesh *CSceneManager::getMesh(io::IReadFile *file)
|
||||
// load and create a mesh which we know already isn't in the cache and put it in there
|
||||
IAnimatedMesh *CSceneManager::getUncachedMesh(io::IReadFile *file, const io::path &filename, const io::path &cachename)
|
||||
{
|
||||
IAnimatedMesh *msh = 0;
|
||||
|
||||
// iterate the list in reverse order so user-added loaders can override the built-in ones
|
||||
|
||||
bool unsupported = true;
|
||||
for (auto it = MeshLoaderList.rbegin(); it != MeshLoaderList.rend(); it++) {
|
||||
if ((*it)->isALoadableFileExtension(filename)) {
|
||||
unsupported = false;
|
||||
// reset file to avoid side effects of previous calls to createMesh
|
||||
file->seek(0);
|
||||
msh = (*it)->createMesh(file);
|
||||
IAnimatedMesh *msh = (*it)->createMesh(file);
|
||||
if (msh) {
|
||||
MeshCache->addMesh(cachename, msh);
|
||||
msh->drop();
|
||||
break;
|
||||
os::Printer::log("Loaded mesh", filename, ELL_DEBUG);
|
||||
return msh;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!msh)
|
||||
os::Printer::log("Could not load mesh, file format seems to be unsupported", filename, ELL_ERROR);
|
||||
else
|
||||
os::Printer::log("Loaded mesh", filename, ELL_DEBUG);
|
||||
|
||||
return msh;
|
||||
os::Printer::log(unsupported
|
||||
? "Could not load mesh, file format seems to be unsupported"
|
||||
: "Attempt to load mesh failed",
|
||||
filename, ELL_ERROR);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
//! returns the video driver
|
||||
|
||||
@@ -57,8 +57,12 @@ void COpenGLES2Driver::initFeatures()
|
||||
else if (FeatureAvailable[IRR_GL_APPLE_texture_format_BGRA8888])
|
||||
TextureFormats[ECF_A8R8G8B8] = {BGRA8_EXT, GL_BGRA, GL_UNSIGNED_BYTE};
|
||||
|
||||
if (FeatureAvailable[IRR_GL_OES_depth32])
|
||||
TextureFormats[ECF_D32] = {GL_DEPTH_COMPONENT32, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT};
|
||||
// OpenGL ES 3 doesn't include a GL_DEPTH_COMPONENT32, so still use
|
||||
// OES_depth_texture for 32-bit depth texture support.
|
||||
// OpenGL ES 3 would allow {GL_DEPTH_COMPONENT32F, GL_DEPTH_COMPONENT, GL_FLOAT},
|
||||
// but I guess that would have to be called ECF_D32F...
|
||||
if (FeatureAvailable[IRR_GL_OES_depth_texture])
|
||||
TextureFormats[ECF_D32] = {GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT};
|
||||
} else {
|
||||
// NOTE These are *texture* formats. They may or may not be suitable
|
||||
// for render targets. The specs only talks on *sized* formats for the
|
||||
@@ -98,8 +102,9 @@ void COpenGLES2Driver::initFeatures()
|
||||
|
||||
if (FeatureAvailable[IRR_GL_OES_depth_texture]) {
|
||||
TextureFormats[ECF_D16] = {GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT};
|
||||
if (FeatureAvailable[IRR_GL_OES_depth32])
|
||||
TextureFormats[ECF_D32] = {GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT};
|
||||
// OES_depth_texture includes 32-bit depth texture support.
|
||||
TextureFormats[ECF_D32] = {GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT};
|
||||
|
||||
if (FeatureAvailable[IRR_GL_OES_packed_depth_stencil])
|
||||
TextureFormats[ECF_D24S8] = {GL_DEPTH_STENCIL, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8};
|
||||
}
|
||||
|
||||
@@ -13,10 +13,17 @@
|
||||
#include <array>
|
||||
#include <optional>
|
||||
#include <limits>
|
||||
#include <memory> // unique_ptr
|
||||
#include <stdexcept>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
|
||||
#if JSONCPP_VERSION_HEXA < 0x01090000 /* 1.9.0 */
|
||||
namespace Json {
|
||||
using String = JSONCPP_STRING; // Polyfill
|
||||
}
|
||||
#endif
|
||||
|
||||
namespace tiniergltf {
|
||||
|
||||
static inline void check(bool cond) {
|
||||
@@ -1381,7 +1388,7 @@ static Json::Value readJson(Span<const char> span) {
|
||||
Json::CharReaderBuilder builder;
|
||||
const std::unique_ptr<Json::CharReader> reader(builder.newCharReader());
|
||||
Json::Value json;
|
||||
JSONCPP_STRING err;
|
||||
Json::String err;
|
||||
if (!reader->parse(span.ptr, span.end(), &json, &err))
|
||||
throw std::runtime_error(std::string("invalid JSON: ") + err);
|
||||
return json;
|
||||
|
||||
@@ -9,11 +9,15 @@
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>luanti-icon.icns</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Luanti</string>
|
||||
<string>@PROJECT_NAME_CAPITALIZED@</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Luanti</string>
|
||||
<string>@PROJECT_NAME_CAPITALIZED@</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.luanti.luanti</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>@VERSION_STRING@</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.games</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<false/>
|
||||
</dict>
|
||||
10
misc/macos/entitlements/debug.entitlements
Normal file
10
misc/macos/entitlements/debug.entitlements
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||
<true/>
|
||||
<key>com.apple.security.get-task-allow</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
10
misc/macos/entitlements/debug_map_jit.entitlements
Normal file
10
misc/macos/entitlements/debug_map_jit.entitlements
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.get-task-allow</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
8
misc/macos/entitlements/release.entitlements
Normal file
8
misc/macos/entitlements/release.entitlements
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
8
misc/macos/entitlements/release_map_jit.entitlements
Normal file
8
misc/macos/entitlements/release_map_jit.entitlements
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -149,6 +149,6 @@
|
||||
<update_contact>celeron55@gmail.com</update_contact>
|
||||
|
||||
<releases>
|
||||
<release date="2024-08-11" version="5.9.0"/>
|
||||
<release date="2024-11-10" version="5.10.0"/>
|
||||
</releases>
|
||||
</component>
|
||||
|
||||
269
po/de/luanti.po
269
po/de/luanti.po
@@ -3,8 +3,8 @@ msgstr ""
|
||||
"Project-Id-Version: German (Minetest)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-10-28 19:57+0100\n"
|
||||
"PO-Revision-Date: 2024-07-12 14:09+0000\n"
|
||||
"Last-Translator: Wuzzy <Wuzzy@disroot.org>\n"
|
||||
"PO-Revision-Date: 2024-11-02 23:00+0000\n"
|
||||
"Last-Translator: grorp <grorp@posteo.de>\n"
|
||||
"Language-Team: German <https://hosted.weblate.org/projects/minetest/minetest/"
|
||||
"de/>\n"
|
||||
"Language: de\n"
|
||||
@@ -12,7 +12,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.7-dev\n"
|
||||
"X-Generator: Weblate 5.8.2\n"
|
||||
|
||||
#: builtin/client/chatcommands.lua
|
||||
msgid "Clear the out chat queue"
|
||||
@@ -159,7 +159,7 @@ msgstr "$1 laden herunter…"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
msgstr "Alle"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
@@ -168,10 +168,8 @@ msgid "Back"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#, fuzzy
|
||||
msgid "ContentDB is not available when Luanti was compiled without cURL"
|
||||
msgstr ""
|
||||
"ContentDB ist nicht verfügbar, wenn Minetest ohne cURL kompiliert wurde"
|
||||
msgstr "ContentDB ist nicht verfügbar, wenn Luanti ohne cURL kompiliert wurde"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Downloading..."
|
||||
@@ -179,7 +177,7 @@ msgstr "Herunterladen …"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Featured"
|
||||
msgstr ""
|
||||
msgstr "Vorgestellt"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Games"
|
||||
@@ -215,7 +213,6 @@ msgid "Queued"
|
||||
msgstr "Eingereiht"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#, fuzzy
|
||||
msgid "Texture Packs"
|
||||
msgstr "Texturenpakete"
|
||||
|
||||
@@ -269,9 +266,8 @@ msgid "Dependencies:"
|
||||
msgstr "Abhängigkeiten:"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
#, fuzzy
|
||||
msgid "Error getting dependencies for package $1"
|
||||
msgstr "Fehler beim Holen der Abhängigkeiten für Paket"
|
||||
msgstr "Fehler beim Laden der Abhängigkeiten für Paket $1"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
msgid "Install"
|
||||
@@ -307,44 +303,40 @@ msgid "Overwrite"
|
||||
msgstr "Überschreiben"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "ContentDB page"
|
||||
msgstr "ContentDB-URL"
|
||||
msgstr "ContentDB-Seite"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Description"
|
||||
msgstr "Serverbeschreibung"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
msgstr "Spenden"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Forum Topic"
|
||||
msgstr ""
|
||||
msgstr "Forumthema"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Information"
|
||||
msgstr "Information:"
|
||||
msgstr "Informationen"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Install [$1]"
|
||||
msgstr "$1 installieren"
|
||||
msgstr "Installieren [$1]"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Issue Tracker"
|
||||
msgstr ""
|
||||
msgstr "Issue-Tracker"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
msgstr "Quellcode"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
msgstr "Übersetzen"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua builtin/mainmenu/tab_content.lua
|
||||
msgid "Uninstall"
|
||||
@@ -355,13 +347,12 @@ msgid "Update"
|
||||
msgstr "Updaten"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Website"
|
||||
msgstr "Webseite besuchen"
|
||||
msgstr "Webseite"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "by $1 — $2 downloads — +$3 / $4 / -$5"
|
||||
msgstr ""
|
||||
msgstr "von $1 — $2 Downloads — +$3 / $4 / -$5"
|
||||
|
||||
#: builtin/mainmenu/content/pkgmgr.lua
|
||||
msgid "$1 (Enabled)"
|
||||
@@ -726,14 +717,13 @@ msgid "Dismiss"
|
||||
msgstr "Ablehnen"
|
||||
|
||||
#: builtin/mainmenu/dlg_reinstall_mtg.lua
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"For a long time, Luanti shipped with a default game called \"Minetest "
|
||||
"Game\". Since version 5.8.0, Luanti ships without a default game."
|
||||
msgstr ""
|
||||
"Für eine lange Zeit wurde die Minetest-Engine mit einem Standardspiel namens "
|
||||
"„Minetest Game“ ausgeliefert. Seit Minetest 5.8.0 wird Minetest ohne ein "
|
||||
"Standardspiel ausgeliefert."
|
||||
"Für eine lange Zeit wurde Luanti mit einem Standardspiel namens „Minetest "
|
||||
"Game“ ausgeliefert. Seit Version 5.8.0 wird Luanti ohne ein Standardspiel "
|
||||
"ausgeliefert."
|
||||
|
||||
#: builtin/mainmenu/dlg_reinstall_mtg.lua
|
||||
msgid ""
|
||||
@@ -895,19 +885,16 @@ msgid "eased"
|
||||
msgstr "weich (eased)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable automatic exposure as well)"
|
||||
msgstr "(Das Spiel muss ebenfalls Schatten aktivieren)"
|
||||
msgstr "(Das Spiel muss ebenfalls automatische Belichtung aktivieren)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable bloom as well)"
|
||||
msgstr "(Das Spiel muss ebenfalls Schatten aktivieren)"
|
||||
msgstr "(Das Spiel muss ebenfalls Bloom aktivieren)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable volumetric lighting as well)"
|
||||
msgstr "(Das Spiel muss ebenfalls Schatten aktivieren)"
|
||||
msgstr "(Das Spiel muss ebenfalls volumetrisches Licht aktivieren)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "(Use system language)"
|
||||
@@ -919,7 +906,7 @@ msgstr "Barrierefreiheit"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "Auto"
|
||||
msgstr ""
|
||||
msgstr "Automatisch"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua src/gui/guiKeyChangeMenu.cpp
|
||||
#: src/gui/touchcontrols.cpp src/settings_translation_file.cpp
|
||||
@@ -985,18 +972,16 @@ msgid "Content: Mods"
|
||||
msgstr "Inhalt: Mods"
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
#, fuzzy
|
||||
msgid "Enable"
|
||||
msgstr "Aktiviert"
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
#, fuzzy
|
||||
msgid "Shaders are disabled."
|
||||
msgstr "Kameraaktualisierung deaktiviert"
|
||||
msgstr "Shader sind deaktiviert."
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
msgid "This is not a recommended configuration."
|
||||
msgstr ""
|
||||
msgstr "Dies ist keine empfohlene Konfiguration."
|
||||
|
||||
#: builtin/mainmenu/settings/shadows_component.lua
|
||||
msgid "(The game will need to enable shadows as well)"
|
||||
@@ -1156,17 +1141,15 @@ msgid "Install games from ContentDB"
|
||||
msgstr "Spiele aus ContentDB installieren"
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
#, fuzzy
|
||||
msgid "Luanti doesn't come with a game by default."
|
||||
msgstr "Minetest wird standardmäßig nicht mehr mit einem Spiel ausgeliefert."
|
||||
msgstr "Luanti wird standardmäßig nicht mit einem Spiel ausgeliefert."
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Luanti is a game-creation platform that allows you to play many different "
|
||||
"games."
|
||||
msgstr ""
|
||||
"Minetest ist eine Spielerschaffungsplattform, welche es Ihnen ermöglicht, "
|
||||
"Luanti ist eine Spielerschaffungsplattform, welche es Ihnen ermöglicht, "
|
||||
"viele verschiedene Spiele zu spielen."
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
@@ -2272,37 +2255,38 @@ msgid "Sound Volume: %d%%"
|
||||
msgstr "Tonlautstärke: %d%%"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
#, fuzzy
|
||||
msgid "Joystick"
|
||||
msgstr "Joystick-ID"
|
||||
msgstr "Joystick"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
msgid "Overflow menu"
|
||||
msgstr ""
|
||||
msgstr "Überlauf-Menü"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
#, fuzzy
|
||||
msgid "Toggle debug"
|
||||
msgstr "Nebel an/aus"
|
||||
msgstr "Debug an/aus"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Another client is connected with this name. If your client closed "
|
||||
"unexpectedly, try again in a minute."
|
||||
msgstr ""
|
||||
"Ein anderer Client ist mit diesem Namen verbunden. Falls Ihr Client "
|
||||
"unerwartet geschlossen wurde, versuchen Sie es in einer Minute erneut."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Empty passwords are disallowed. Set a password and try again."
|
||||
msgstr ""
|
||||
"Leere Passwörter sind nicht erlaubt. Legen Sie ein Passwort fest und "
|
||||
"versuchen Sie es erneut."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Internal server error"
|
||||
msgstr ""
|
||||
msgstr "Interner Serverfehler"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Invalid password"
|
||||
msgstr "Altes Passwort"
|
||||
msgstr "Falsches Passwort"
|
||||
|
||||
#. ~ DO NOT TRANSLATE THIS LITERALLY!
|
||||
#. This is a special string which needs to contain the translation's
|
||||
@@ -2325,46 +2309,51 @@ msgstr "Name ist belegt. Bitte einen anderen Namen wählen"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Player name contains disallowed characters"
|
||||
msgstr ""
|
||||
msgstr "Spielername enthält nicht erlaubte Zeichen"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Player name not allowed"
|
||||
msgstr "Der Spielername ist zu lang."
|
||||
msgstr "Spielername nicht erlaubt"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Server shutting down"
|
||||
msgstr "Herunterfahren …"
|
||||
msgstr "Server fährt herunter"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"The server has experienced an internal error. You will now be disconnected."
|
||||
msgstr ""
|
||||
"Auf dem Server ist ein interner Fehler aufgetreten. Die Verbindung wird "
|
||||
"jetzt getrennt."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "The server is running in singleplayer mode. You cannot connect."
|
||||
msgstr ""
|
||||
"Der Server läuft im Einzelspielermodus. Sie können sich nicht verbinden."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Too many users"
|
||||
msgstr ""
|
||||
msgstr "Zu viele Benutzer"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Unknown disconnect reason."
|
||||
msgstr ""
|
||||
msgstr "Unbekannter Grund für die Trennung der Verbindung."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Your client sent something the server didn't expect. Try reconnecting or "
|
||||
"updating your client."
|
||||
msgstr ""
|
||||
"Ihr Client hat etwas gesendet, das der Server nicht erwartet hat. Versuchen "
|
||||
"Sie, sich erneut zu verbinden oder Ihren Client zu aktualisieren."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Your client's version is not supported.\n"
|
||||
"Please contact the server administrator."
|
||||
msgstr ""
|
||||
"Ihre Client-Version wird nicht unterstützt.\n"
|
||||
"Bitte kontaktieren Sie den Server-Administrator."
|
||||
|
||||
#: src/server.cpp
|
||||
#, c-format
|
||||
@@ -2674,11 +2663,11 @@ msgstr "Kantenglättungsmethode"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Anticheat flags"
|
||||
msgstr ""
|
||||
msgstr "Anticheat-Flags"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Anticheat movement tolerance"
|
||||
msgstr ""
|
||||
msgstr "Anticheat-Bewegungs-Toleranz"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Append item name"
|
||||
@@ -2713,7 +2702,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Apply specular shading to nodes."
|
||||
msgstr ""
|
||||
msgstr "Specular-Shading auf Nodes anwenden."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Arm inertia"
|
||||
@@ -2832,9 +2821,8 @@ msgid "Biome noise"
|
||||
msgstr "Biomrauschen"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Block bounds HUD radius"
|
||||
msgstr "Blockgrenzen"
|
||||
msgstr "Radius für Blockgrenzen-HUD"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Block cull optimize distance"
|
||||
@@ -3050,7 +3038,6 @@ msgstr ""
|
||||
"für Details."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
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 "
|
||||
@@ -3060,13 +3047,13 @@ msgid ""
|
||||
"These flags are independent from Luanti versions,\n"
|
||||
"so see a full list at https://content.minetest.net/help/content_flags/"
|
||||
msgstr ""
|
||||
"Kommagetrennte Liste von Flags für Dinge, die im Inhaltespeicher verborgen "
|
||||
"Kommagetrennte Liste von Flags für Dinge, die im Inhalte-Browser verborgen "
|
||||
"werden sollten.\n"
|
||||
"„nonfree“ kann benutzt werden, um Pakete, die nicht als „freie Software“ "
|
||||
"nach\n"
|
||||
"der Definition der Free Software Foundation gelten, zu verbergen.\n"
|
||||
"Sie können auch Inhaltseinstufungen festlegen.\n"
|
||||
"Diese Flags sind von Minetestversionen unabhängig,\n"
|
||||
"Diese Flags sind von Luanti-Versionen unabhängig,\n"
|
||||
"für eine vollständige Liste gehen Sie auf:\n"
|
||||
"https://content.minetest.net/help/content_flags/"
|
||||
|
||||
@@ -3276,7 +3263,6 @@ msgstr ""
|
||||
"aber dies verbraucht auch mehr Ressourcen."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Define the oldest clients allowed to connect.\n"
|
||||
"Older clients are compatible in the sense that they will not crash when "
|
||||
@@ -3288,17 +3274,16 @@ msgid ""
|
||||
"Luanti still enforces its own internal minimum, and enabling\n"
|
||||
"strict_protocol_version_checking will effectively override this."
|
||||
msgstr ""
|
||||
"Hier festlegen, welches die ältesten Clients sind, die sich verbinden "
|
||||
"dürfen.\n"
|
||||
"Hier festlegen, welches die ältesten Clients sind, die sich verbinden dürfen."
|
||||
"\n"
|
||||
"Ältere Clients sind kompatibel in der Hinsicht, dass sie beim Verbinden zu "
|
||||
"neuen\n"
|
||||
"Servern nicht abstürzen, aber sie könnten nicht alle neuen Funktionen, die "
|
||||
"Sie\n"
|
||||
"erwarten, unterstützen.\n"
|
||||
"Das ermöglicht eine genauere Kontrolle als "
|
||||
"strict_protocol_version_checking.\n"
|
||||
"Minetest wird immer noch ein internes Minimum erzwingen, und die "
|
||||
"Aktivierung\n"
|
||||
"Das ermöglicht eine genauere Kontrolle als strict_protocol_version_checking."
|
||||
"\n"
|
||||
"Luanti wird immer noch ein internes Minimum erzwingen, und die Aktivierung\n"
|
||||
"von strict_protocol_version_checking wird dies überschreiben."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -3439,7 +3424,6 @@ msgid "Display Density Scaling Factor"
|
||||
msgstr "Anzeigendichtenskalierungsfaktor"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Distance in nodes at which transparency depth sorting is enabled.\n"
|
||||
"Use this to limit the performance impact of transparency depth sorting.\n"
|
||||
@@ -3448,7 +3432,8 @@ msgstr ""
|
||||
"Entfernung in Nodes, bei welcher die Transparenztiefensortierung aktiviert "
|
||||
"ist.\n"
|
||||
"Dies benutzen, um die Performanzeinbußen der Transparenztiefensortierung zu "
|
||||
"begrenzen"
|
||||
"begrenzen.\n"
|
||||
"Auf 0 setzen, um sie vollständig zu deaktivieren."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Domain name of server, to be displayed in the serverlist."
|
||||
@@ -3479,9 +3464,8 @@ msgid "Dungeon noise"
|
||||
msgstr "Verliesrauschen"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Effects"
|
||||
msgstr "Grafikeffekte"
|
||||
msgstr "Effekte"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable Automatic Exposure"
|
||||
@@ -3588,11 +3572,8 @@ msgid "Enable random user input (only used for testing)."
|
||||
msgstr "Schaltet zufällige Steuerung ein (nur zum Testen verwendet)."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Enable smooth lighting with simple ambient occlusion."
|
||||
msgstr ""
|
||||
"Weiches Licht mit einfacher Ambient-Occlusion aktivieren.\n"
|
||||
"Für bessere Performanz oder anderes Aussehen deaktivieren."
|
||||
msgstr "Weiches Licht mit einfacher Ambient-Occlusion aktivieren."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable split login/register"
|
||||
@@ -3615,7 +3596,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable updates available indicator on content tab"
|
||||
msgstr ""
|
||||
msgstr "Update-Indikator auf dem „Inhalt“-Tab aktivieren"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -3667,22 +3648,21 @@ msgid "Enables animation of inventory items."
|
||||
msgstr "Aktiviert die Animation von Inventargegenständen."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Enables caching of facedir rotated meshes.\n"
|
||||
"This is only effective with shaders disabled."
|
||||
msgstr ""
|
||||
"Aktiviert das Zwischenspeichern von 3-D-Modellen, die mittels facedir "
|
||||
"rotiert werden."
|
||||
"rotiert werden.\n"
|
||||
"Dies hat nur einen Effekt, wenn Shader deaktiviert sind."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enables debug and error-checking in the OpenGL driver."
|
||||
msgstr "Aktiviert Debug und Fehlerprüfungen im OpenGL-Treiber."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Enables smooth scrolling."
|
||||
msgstr "Nachbearbeitung aktivieren"
|
||||
msgstr "Weiches Scrollen aktivieren."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enables the post processing pipeline."
|
||||
@@ -3695,6 +3675,11 @@ msgid ""
|
||||
"\"auto\" means that the touchscreen controls will be enabled and disabled\n"
|
||||
"automatically depending on the last used input method."
|
||||
msgstr ""
|
||||
"Aktiviert die Touchscreen-Steuerung, so dass Sie das Spiel mit einem "
|
||||
"Touchscreen spielen können.\n"
|
||||
"„Automatisch“ bedeutet, dass die Touchscreen-Steuerung automatisch aktiviert "
|
||||
"und deaktiviert wird,\n"
|
||||
"basierend auf dem zuletzt verwendeten Eingabegerät."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -4289,6 +4274,9 @@ msgid ""
|
||||
"ContentDB to\n"
|
||||
"check for package updates when opening the mainmenu."
|
||||
msgstr ""
|
||||
"Wenn dies aktiviert ist und Sie ContentDB-Pakete installiert haben, kann "
|
||||
"Luanti beim Öffnen\n"
|
||||
"des Hauptmenüs ContentDB kontaktieren, um nach Updates zu suchen."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -4433,13 +4421,12 @@ msgid "Instrument chat commands on registration."
|
||||
msgstr "Chatbefehle bei ihrer Registrierung instrumentieren."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Instrument global callback functions on registration.\n"
|
||||
"(anything you pass to a core.register_*() function)"
|
||||
msgstr ""
|
||||
"Globale Rückruffunktionen bei ihrer Registrierung instrumentieren\n"
|
||||
"(alles, was man einer Funktion wie minetest.register_*() übergibt)."
|
||||
"(alles, was man einer Funktion wie core.register_*() übergibt)."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -4650,7 +4637,6 @@ msgid "Leaves style"
|
||||
msgstr "Blätterstil"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Leaves style:\n"
|
||||
"- Fancy: all faces visible\n"
|
||||
@@ -4659,12 +4645,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Blätterstil:\n"
|
||||
"- Fancy: Alle Seiten sind sichtbar\n"
|
||||
"- Simple: Nur äußere Seiten, falls definierte special_tiles benutzt "
|
||||
"werden\n"
|
||||
"- Simple: Nur äußere Seiten\n"
|
||||
"- Opaque: Transparenz deaktivieren"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Length of a server tick (the interval at which everything is generally "
|
||||
"updated),\n"
|
||||
@@ -4673,10 +4657,13 @@ msgid ""
|
||||
"This is a lower bound, i.e. server steps may not be shorter than this, but\n"
|
||||
"they are often longer."
|
||||
msgstr ""
|
||||
"Länge eines Servertakts (dem Intervall, wo grundsätzlich alles aktualisiert "
|
||||
"wird),\n"
|
||||
"Länge eines Servertakts (dem Intervall, in dem grundsätzlich alles "
|
||||
"aktualisiert wird),\n"
|
||||
"in Sekunden.\n"
|
||||
"Wirkt sich nicht auf Sitzungen aus, die vom Clientmenü gestartet wurden."
|
||||
"Wirkt sich nicht auf Sitzungen aus, die mit dem Hauptmenü gestartet wurden.\n"
|
||||
"Dies ist eine Untergrenze, d.h. Server-Schritte dürfen nicht kürzer als "
|
||||
"dieser Wert sein,\n"
|
||||
"sind aber oft länger."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Length of liquid waves."
|
||||
@@ -4792,9 +4779,8 @@ msgid "Liquid queue purge time"
|
||||
msgstr "Aufräumzeit für Flüssigkeitswarteschlange"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Liquid reflections"
|
||||
msgstr "Flüssigkeitswiderstand"
|
||||
msgstr "Flüssigkeits-Reflexionen"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Liquid sinking"
|
||||
@@ -5140,6 +5126,10 @@ msgid ""
|
||||
"You generally don't need to change this, however busy servers may benefit "
|
||||
"from a higher number."
|
||||
msgstr ""
|
||||
"Maximale Anzahl der Pakete, die jeden Server-Step im Low-Level-Netzwerkcode "
|
||||
"gesendet werden.\n"
|
||||
"Sie brauchen das normalerweise nicht ändern, jedoch können ausgelastete "
|
||||
"Server von einer höheren Zahl profitieren."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Maximum number of players that can be connected simultaneously."
|
||||
@@ -5380,7 +5370,7 @@ msgstr "Blockhervorhebung"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Node specular"
|
||||
msgstr ""
|
||||
msgstr "Node-Specular"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "NodeTimer interval"
|
||||
@@ -5437,14 +5427,13 @@ msgstr ""
|
||||
"darf."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Number of threads to use for mesh generation.\n"
|
||||
"Value of 0 (default) will let Luanti autodetect the number of available "
|
||||
"threads."
|
||||
msgstr ""
|
||||
"Anzahl der Threads, die für die Meshgenerierung benutzt werden.\n"
|
||||
"Der Wert 0 (Standard) sorgt dafür, dass Minetest die Anzahl verfügbarer "
|
||||
"Der Wert 0 (Standard) sorgt dafür, dass Luanti die Anzahl verfügbarer "
|
||||
"Threads automatisch ermittelt."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -5476,18 +5465,16 @@ msgid "OpenGL debug"
|
||||
msgstr "OpenGL-Debug"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Optimize GUI for touchscreens"
|
||||
msgstr "Fadenkreuz für Touchscreen benutzen"
|
||||
msgstr "GUI für Touchscreens optimieren"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Optional override for chat weblink color."
|
||||
msgstr "Optionaler manueller Wert für die Farbe von Chat-Weblinks."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Other Effects"
|
||||
msgstr "Grafikeffekte"
|
||||
msgstr "Andere Effekte"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -5605,7 +5592,6 @@ msgid "Prometheus listener address"
|
||||
msgstr "Prometheus-Lauschadresse"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Prometheus listener address.\n"
|
||||
"If Luanti is compiled with ENABLE_PROMETHEUS option enabled,\n"
|
||||
@@ -5613,7 +5599,7 @@ msgid ""
|
||||
"Metrics can be fetched on http://127.0.0.1:30000/metrics"
|
||||
msgstr ""
|
||||
"Prometheus-Lauschadresse.\n"
|
||||
"Falls Minetest mit der ENABLE_PROMETEUS-Option kompiliert wurde,\n"
|
||||
"Falls Luanti mit der ENABLE_PROMETEUS-Option kompiliert wurde,\n"
|
||||
"wird dies den Metriklauscher für Prometheus auf dieser Adresse aktivieren.\n"
|
||||
"Metriken können von http://127.0.0.1:30000/metrics abgegriffen werden."
|
||||
|
||||
@@ -5642,6 +5628,8 @@ msgstr ""
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Radius to use when the block bounds HUD feature is set to near blocks."
|
||||
msgstr ""
|
||||
"Der zu verwendende Radius, wenn sich die Blockbegrenzungs-HUD-Funktion im "
|
||||
"Modus „Blöcke in Nähe“ befindet."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Raises terrain to make valleys around the rivers."
|
||||
@@ -5968,11 +5956,12 @@ msgid ""
|
||||
"Send names of online players to the serverlist. If disabled only the player "
|
||||
"count is revealed."
|
||||
msgstr ""
|
||||
"Name von Spielern, die online sind, an die Serverliste senden. Fall "
|
||||
"deaktiviert, wird nur die Anzahl der Spieler offengelegt."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Send player names to the server list"
|
||||
msgstr "Zu dieser Serverliste ankündigen."
|
||||
msgstr "Spielernamen an die Serverliste senden"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Server"
|
||||
@@ -6000,6 +5989,9 @@ msgid ""
|
||||
"Flags are positive. Uncheck the flag to disable corresponding anticheat "
|
||||
"module."
|
||||
msgstr ""
|
||||
"Server-Anticheat-Konfiguration.\n"
|
||||
"Flags sind positiv. Das Kreuzchen beim jeweiligen Flag entfernen, um das "
|
||||
"dazugehörige Anticheatmodul zu deaktivieren."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Server description"
|
||||
@@ -6156,6 +6148,8 @@ msgid ""
|
||||
"Shaders are a fundamental part of rendering and enable advanced visual "
|
||||
"effects."
|
||||
msgstr ""
|
||||
"Shader sind ein fundamentaler Teil des Renderns und aktivieren erweiterte "
|
||||
"visuelle Effekte."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Shadow filter quality"
|
||||
@@ -6227,6 +6221,7 @@ msgstr ""
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Simulate translucency when looking at foliage in the sunlight."
|
||||
msgstr ""
|
||||
"Transluzenz simulieren, wenn auf Blattwerk im Sonnenlicht geblickt wird."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6280,9 +6275,8 @@ msgid "Smooth lighting"
|
||||
msgstr "Weiches Licht"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Smooth scrolling"
|
||||
msgstr "Weiches Licht"
|
||||
msgstr "Weiches Scrollen"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6310,9 +6304,8 @@ msgid "Sneaking speed, in nodes per second."
|
||||
msgstr "Schleichgeschwindigkeit, in Blöcken pro Sekunde."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Soft clouds"
|
||||
msgstr "3-D-Wolken"
|
||||
msgstr "Weiche Wolken"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Soft shadow radius"
|
||||
@@ -6539,8 +6532,8 @@ msgid ""
|
||||
"The delay in milliseconds after which a touch interaction is considered a "
|
||||
"long tap."
|
||||
msgstr ""
|
||||
"Die Verzögerung in Millisekunden, nachdem eine Berührungsinteraktion als "
|
||||
"langes Antippen zählt."
|
||||
"Die Verzögerung in Millisekunden, nach der eine Touch-Interaktion als langes "
|
||||
"Antippen zählt."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6549,7 +6542,6 @@ msgstr ""
|
||||
"Der Dateipfad relativ zu Ihrem Weltpfad, in dem Profile abgespeichert werden."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The gesture for punching players/entities.\n"
|
||||
"This can be overridden by games and mods.\n"
|
||||
@@ -6561,16 +6553,16 @@ msgid ""
|
||||
"Known from the classic Luanti mobile controls.\n"
|
||||
"Combat is more or less impossible."
|
||||
msgstr ""
|
||||
"Die Geste für für das Schlagen von Spielern/Entitys.\n"
|
||||
"Die Geste für das Schlagen von Spielern/Entitys.\n"
|
||||
"Dies kann von Spielen und Mods überschrieben werden.\n"
|
||||
"\n"
|
||||
"* short_tap\n"
|
||||
"Leicht zu benutzen und bekannt von anderen Spielen, die nicht genannt werden "
|
||||
"Leicht zu benutzen und bekannt aus anderen Spielen, die nicht genannt werden "
|
||||
"sollen.\n"
|
||||
"\n"
|
||||
"* long_tap\n"
|
||||
"Bekannt aus der klassischen Mineteststeuerung für mobile Endgeräte.\n"
|
||||
"Der Kampf ist mehr oder weniger unmöglich."
|
||||
"Bekannt aus der klassischen Luanti-Touchscreen-Steuerung.\n"
|
||||
"Kämpfen ist mehr oder weniger unmöglich."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "The identifier of the joystick to use"
|
||||
@@ -6580,7 +6572,7 @@ msgstr "Die Kennung des zu verwendeten Joysticks"
|
||||
msgid ""
|
||||
"The length in pixels after which a touch interaction is considered movement."
|
||||
msgstr ""
|
||||
"Die Länge in Pixeln, die benötigt wird, damit die Touch-Interaktion als "
|
||||
"Die Länge in Pixeln, die benötigt wird, damit eine Touch-Interaktion als "
|
||||
"Bewegung zählt."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -6636,7 +6628,6 @@ msgstr ""
|
||||
"konfiguriert werden."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The rendering back-end.\n"
|
||||
"Note: A restart is required after changing this!\n"
|
||||
@@ -6645,8 +6636,7 @@ msgstr ""
|
||||
"Das Renderer-Backend.\n"
|
||||
"Anmerkung: Ein Neustart ist nach einer Änderung notwendig!\n"
|
||||
"Auf Desktopsystemen ist OpenGL die Standardeinstellung. Bei Android ist "
|
||||
"OGLES2 die Standardeinstellung.\n"
|
||||
"Shader werden von allem außer OGLES1 unterstützt."
|
||||
"OGLES2 die Standardeinstellung."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6776,6 +6766,8 @@ msgid ""
|
||||
"Tolerance of movement cheat detector.\n"
|
||||
"Increase the value if players experience stuttery movement."
|
||||
msgstr ""
|
||||
"Toleranz des Bewegungs-Cheaterkenners.\n"
|
||||
"Erhöhen Sie den Wert, falls Spieler bei Bewegungen ein Stottern feststellen."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Tooltip delay"
|
||||
@@ -6786,26 +6778,24 @@ msgid "Touchscreen"
|
||||
msgstr "Touchscreen"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Touchscreen controls"
|
||||
msgstr "Touchscreenschwellwert"
|
||||
msgstr "Touchscreen-Steuerung"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Touchscreen sensitivity"
|
||||
msgstr "Touchscreenempfindlichkeit"
|
||||
msgstr "Touchscreen-Empfindlichkeit"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Touchscreen sensitivity multiplier."
|
||||
msgstr "Faktor für die Touchscreenempfindlichkeit."
|
||||
msgstr "Faktor für die Touchscreen-Empfindlichkeit."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Tradeoffs for performance"
|
||||
msgstr "Kompromisse für Performanz"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Translucent foliage"
|
||||
msgstr "Transluzente Flüssigkeiten"
|
||||
msgstr "Transluzentes Blattwerk"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Translucent liquids"
|
||||
@@ -6858,14 +6848,13 @@ msgstr ""
|
||||
"haben."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"URL to JSON file which provides information about the newest Luanti "
|
||||
"release.\n"
|
||||
"If this is empty the engine will never check for updates."
|
||||
msgstr ""
|
||||
"URL zu einer JSON-Datei, welche Informationen über das neueste Minetest-"
|
||||
"Release enthält\n"
|
||||
"URL zu einer JSON-Datei, welche Informationen über das neueste Luanti-"
|
||||
"Release enthält.\n"
|
||||
"Wenn dies leer ist, wird die Engine nie nach Updates suchen."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -6968,7 +6957,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Use smooth cloud shading."
|
||||
msgstr ""
|
||||
msgstr "Weiches Wolken-Shading benutzen."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -7178,13 +7167,16 @@ msgstr "Weblinkfarbe"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "When enabled, liquid reflections are simulated."
|
||||
msgstr ""
|
||||
msgstr "Falls aktiviert, werden Flüssigkeitsreflextionen simuliert."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
"When enabled, the GUI is optimized to be more usable on touchscreens.\n"
|
||||
"Whether this is enabled by default depends on your hardware form-factor."
|
||||
msgstr ""
|
||||
"Falls aktiviert, wird die GUI optimiert, damit sie für Touchscreens "
|
||||
"benutzbarer wird.\n"
|
||||
"Die Standardeinstellung hängt von ihrem Hardware-Formfaktor ab."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -7306,13 +7298,12 @@ msgid "Window maximized"
|
||||
msgstr "Fenster maximiert"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Windows systems only: Start Luanti with the command line window in the "
|
||||
"background.\n"
|
||||
"Contains the same information as the file debug.txt (default name)."
|
||||
msgstr ""
|
||||
"Nur für Windows-Systeme: Startet Minetest mit dem Kommandozeilenfenster im\n"
|
||||
"Nur für Windows-Systeme: Startet Luanti mit dem Kommandozeilenfenster im\n"
|
||||
"Hintergrund. Enthält die selbe Information wie die Datei debug.txt "
|
||||
"(Standardname)."
|
||||
|
||||
|
||||
329
po/es/luanti.po
329
po/es/luanti.po
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: Spanish (Minetest)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-10-28 19:57+0100\n"
|
||||
"PO-Revision-Date: 2024-10-12 03:08+0000\n"
|
||||
"PO-Revision-Date: 2024-11-10 00:00+0000\n"
|
||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/minetest/"
|
||||
"minetest/es/>\n"
|
||||
@@ -12,7 +12,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.8-dev\n"
|
||||
"X-Generator: Weblate 5.8.2\n"
|
||||
|
||||
#: builtin/client/chatcommands.lua
|
||||
msgid "Clear the out chat queue"
|
||||
@@ -159,7 +159,7 @@ msgstr "$1 descargando..."
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
msgstr "Todo"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
@@ -168,10 +168,8 @@ msgid "Back"
|
||||
msgstr "Atrás"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#, fuzzy
|
||||
msgid "ContentDB is not available when Luanti was compiled without cURL"
|
||||
msgstr ""
|
||||
"ContentDB no se encuentra disponible cuando Minetest se compiló sin cURL"
|
||||
msgstr "ContentDB no se encuentra disponible cuando Luanti se compiló sin cURL"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Downloading..."
|
||||
@@ -179,7 +177,7 @@ msgstr "Descargando..."
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Featured"
|
||||
msgstr ""
|
||||
msgstr "Destacado"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Games"
|
||||
@@ -215,9 +213,8 @@ msgid "Queued"
|
||||
msgstr "En cola"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#, fuzzy
|
||||
msgid "Texture Packs"
|
||||
msgstr "Paq. de texturas"
|
||||
msgstr "Paquetes de texturas"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "The package $1 was not found."
|
||||
@@ -269,9 +266,8 @@ msgid "Dependencies:"
|
||||
msgstr "Dependencias:"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
#, fuzzy
|
||||
msgid "Error getting dependencies for package $1"
|
||||
msgstr "Error obteniendo dependencias para el paquete"
|
||||
msgstr "Error obteniendo dependencias para el paquete $1"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
msgid "Install"
|
||||
@@ -306,44 +302,40 @@ msgid "Overwrite"
|
||||
msgstr "Sobreescribir"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "ContentDB page"
|
||||
msgstr "URL de ContentDB"
|
||||
msgstr "Página de ContentDB"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Description"
|
||||
msgstr "Descripción del servidor"
|
||||
msgstr "Descripción"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
msgstr "Donar"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Forum Topic"
|
||||
msgstr ""
|
||||
msgstr "Tema del foro"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Information"
|
||||
msgstr "Información:"
|
||||
msgstr "Información"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Install [$1]"
|
||||
msgstr "Instalar $1"
|
||||
msgstr "Instalar [$1]"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Issue Tracker"
|
||||
msgstr ""
|
||||
msgstr "Rastreador de problemas"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
msgstr "Fuente"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
msgstr "Traducir"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua builtin/mainmenu/tab_content.lua
|
||||
msgid "Uninstall"
|
||||
@@ -354,13 +346,12 @@ msgid "Update"
|
||||
msgstr "Actualizar"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Website"
|
||||
msgstr "Visitar el sitio web"
|
||||
msgstr "Página web"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "by $1 — $2 downloads — +$3 / $4 / -$5"
|
||||
msgstr ""
|
||||
msgstr "por $1 — $2 descargas — +$3 / $4 / -$5"
|
||||
|
||||
#: builtin/mainmenu/content/pkgmgr.lua
|
||||
msgid "$1 (Enabled)"
|
||||
@@ -725,13 +716,12 @@ msgid "Dismiss"
|
||||
msgstr "Descartar"
|
||||
|
||||
#: builtin/mainmenu/dlg_reinstall_mtg.lua
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"For a long time, Luanti shipped with a default game called \"Minetest "
|
||||
"Game\". Since version 5.8.0, Luanti ships without a default game."
|
||||
msgstr ""
|
||||
"Por un largo tiempo, el motor de Minetest incluía un juego default llamado "
|
||||
"\"Minetest Game\". Desde Minetest 5.8.0, Minetest se incluye sin un juego "
|
||||
"Durante mucho tiempo, Luanti se entregó con un juego predeterminado llamado "
|
||||
"\"Minetest Game\". Desde la versión 5.8.0, Luanti se entrega sin un juego "
|
||||
"predeterminado."
|
||||
|
||||
#: builtin/mainmenu/dlg_reinstall_mtg.lua
|
||||
@@ -739,16 +729,16 @@ msgid ""
|
||||
"If you want to continue playing in your Minetest Game worlds, you need to "
|
||||
"reinstall Minetest Game."
|
||||
msgstr ""
|
||||
"Si quieres continuar jugando en tus mundos de Minetest, necesitarás "
|
||||
"reinstalar Minetest Game."
|
||||
"Si deseas seguir jugando en los mundos de Minetest Game, deberás reinstalar "
|
||||
"Minetest Game."
|
||||
|
||||
#: builtin/mainmenu/dlg_reinstall_mtg.lua
|
||||
msgid "Minetest Game is no longer installed by default"
|
||||
msgstr "Minetest Game ya no es instalado por predeterminado"
|
||||
msgstr "Minetest Game ya no se instala de forma predeterminada"
|
||||
|
||||
#: builtin/mainmenu/dlg_reinstall_mtg.lua
|
||||
msgid "Reinstall Minetest Game"
|
||||
msgstr "Reinstala Minetest Game"
|
||||
msgstr "Reinstalar Minetest Game"
|
||||
|
||||
#: builtin/mainmenu/dlg_rename_modpack.lua
|
||||
msgid "Accept"
|
||||
@@ -894,19 +884,16 @@ msgid "eased"
|
||||
msgstr "Suavizado"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable automatic exposure as well)"
|
||||
msgstr "(El juego necesitará habilitar las sombras también)"
|
||||
msgstr "(El juego necesitará habilitar la exposición automática también)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable bloom as well)"
|
||||
msgstr "(El juego necesitará habilitar las sombras también)"
|
||||
msgstr "(El juego necesitará habilitar el efecto de bloom también)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable volumetric lighting as well)"
|
||||
msgstr "(El juego necesitará habilitar las sombras también)"
|
||||
msgstr "(El juego también deberá habilitar la iluminación volumétrica)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "(Use system language)"
|
||||
@@ -918,7 +905,7 @@ msgstr "Accesibilidad"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "Auto"
|
||||
msgstr ""
|
||||
msgstr "Automático"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua src/gui/guiKeyChangeMenu.cpp
|
||||
#: src/gui/touchcontrols.cpp src/settings_translation_file.cpp
|
||||
@@ -984,18 +971,16 @@ msgid "Content: Mods"
|
||||
msgstr "Contenido: Mods"
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
#, fuzzy
|
||||
msgid "Enable"
|
||||
msgstr "Activado"
|
||||
msgstr "Habilitar"
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
#, fuzzy
|
||||
msgid "Shaders are disabled."
|
||||
msgstr "Actualización de la cámara desactivada"
|
||||
msgstr "Los Shaders están deshabilitados."
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
msgid "This is not a recommended configuration."
|
||||
msgstr ""
|
||||
msgstr "Esta no es una configuración recomendada."
|
||||
|
||||
#: builtin/mainmenu/settings/shadows_component.lua
|
||||
msgid "(The game will need to enable shadows as well)"
|
||||
@@ -1155,18 +1140,16 @@ msgid "Install games from ContentDB"
|
||||
msgstr "Instalar juegos desde ContentDB"
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
#, fuzzy
|
||||
msgid "Luanti doesn't come with a game by default."
|
||||
msgstr "Minetest no viene con un juego por defecto."
|
||||
msgstr "Luanti no viene con un juego por defecto."
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Luanti is a game-creation platform that allows you to play many different "
|
||||
"games."
|
||||
msgstr ""
|
||||
"Minetest es una plataforma de creación de juegos que te permite jugar a "
|
||||
"muchos juegos diferentes."
|
||||
"Luanti es una plataforma de creación de juegos que te permite jugar a muchos "
|
||||
"diferentes juegos."
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
msgid "New"
|
||||
@@ -2273,37 +2256,38 @@ msgid "Sound Volume: %d%%"
|
||||
msgstr "Volumen del sonido: %d%%"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
#, fuzzy
|
||||
msgid "Joystick"
|
||||
msgstr "ID de Joystick"
|
||||
msgstr "Joystick"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
msgid "Overflow menu"
|
||||
msgstr ""
|
||||
msgstr "Menú de desborde"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
#, fuzzy
|
||||
msgid "Toggle debug"
|
||||
msgstr "Alternar la niebla"
|
||||
msgstr "Alternar depuración"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Another client is connected with this name. If your client closed "
|
||||
"unexpectedly, try again in a minute."
|
||||
msgstr ""
|
||||
"Otro cliente está conectado con este nombre. Si su cliente se cerró "
|
||||
"inesperadamente, intente nuevamente en un minuto."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Empty passwords are disallowed. Set a password and try again."
|
||||
msgstr ""
|
||||
"Las contraseñas vacías no están permitidas. Establezca una contraseña y "
|
||||
"vuelva a intentarlo."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Internal server error"
|
||||
msgstr ""
|
||||
msgstr "Error interno del servidor"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Invalid password"
|
||||
msgstr "Contraseña anterior"
|
||||
msgstr "Contraseña inválida"
|
||||
|
||||
#. ~ DO NOT TRANSLATE THIS LITERALLY!
|
||||
#. This is a special string which needs to contain the translation's
|
||||
@@ -2326,46 +2310,50 @@ msgstr "El nombre ya ha sido tomado. Por favor, elegir otro nombre"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Player name contains disallowed characters"
|
||||
msgstr ""
|
||||
msgstr "El nombre del jugador contiene caracteres no permitidos"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Player name not allowed"
|
||||
msgstr "Nombre de jugador demasiado largo."
|
||||
msgstr "Nombre de jugador no permitido"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Server shutting down"
|
||||
msgstr "Cerrando..."
|
||||
msgstr "El servidor se está cerrando"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"The server has experienced an internal error. You will now be disconnected."
|
||||
msgstr ""
|
||||
"El servidor ha experimentado un error interno. Ahora serás desconectado."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "The server is running in singleplayer mode. You cannot connect."
|
||||
msgstr ""
|
||||
"El servidor está funcionando en modo un jugador. No puedes conectarte."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Too many users"
|
||||
msgstr ""
|
||||
msgstr "Demasiados usuarios"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Unknown disconnect reason."
|
||||
msgstr ""
|
||||
msgstr "Motivo de desconexión desconocido."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Your client sent something the server didn't expect. Try reconnecting or "
|
||||
"updating your client."
|
||||
msgstr ""
|
||||
"Su cliente envió algo que el servidor no esperaba. Intente reconectarse o "
|
||||
"actualizar su cliente."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Your client's version is not supported.\n"
|
||||
"Please contact the server administrator."
|
||||
msgstr ""
|
||||
"La versión de su cliente no es compatible.\n"
|
||||
"Por favor, póngase en contacto con el administrador del servidor."
|
||||
|
||||
#: src/server.cpp
|
||||
#, c-format
|
||||
@@ -2670,11 +2658,11 @@ msgstr "Método de suavizado"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Anticheat flags"
|
||||
msgstr ""
|
||||
msgstr "Banderas antitrampas"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Anticheat movement tolerance"
|
||||
msgstr ""
|
||||
msgstr "Tolerancia al movimiento antitrampas"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Append item name"
|
||||
@@ -2711,7 +2699,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Apply specular shading to nodes."
|
||||
msgstr ""
|
||||
msgstr "Aplique la sombra especulativa a los nodos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Arm inertia"
|
||||
@@ -2831,9 +2819,8 @@ msgid "Biome noise"
|
||||
msgstr "Ruido del bioma"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Block bounds HUD radius"
|
||||
msgstr "Límites de bloque"
|
||||
msgstr "Radio de límites de bloque en HUD"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Block cull optimize distance"
|
||||
@@ -3049,7 +3036,6 @@ msgstr ""
|
||||
"Útil para pruebas. Ver al_extensions.[h,cpp] para más detalles."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
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 "
|
||||
@@ -3059,14 +3045,14 @@ msgid ""
|
||||
"These flags are independent from Luanti versions,\n"
|
||||
"so see a full list at https://content.minetest.net/help/content_flags/"
|
||||
msgstr ""
|
||||
"Lista separada por comas de etiquetas a ocultar en el repositorio de "
|
||||
"Lista de banderas separadas por comas para ocultar en el repositorio de "
|
||||
"contenido.\n"
|
||||
"Se puede usar la etiqueta 'nonfree' para ocultar paquetes que no califican\n"
|
||||
"como \"software libre\", tal como es definido por la Fundación de Software "
|
||||
"Libre (FSF).\n"
|
||||
"\"nonfree\" se puede usar para ocultar paquetes que no califican como "
|
||||
"'software libre',\n"
|
||||
"según lo definido por la Free Software Foundation.\n"
|
||||
"También puedes especificar clasificaciones de contenido.\n"
|
||||
"Estas etiquetas son independientes de la versión de Minetest.\n"
|
||||
"Si quieres ver una lista completa visita https://content.minetest.net/help/"
|
||||
"Estas banderas son independientes de las versiones de Luanti,\n"
|
||||
"así que consulta una lista completa en https://content.minetest.net/help/"
|
||||
"content_flags/"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -3273,7 +3259,6 @@ msgstr ""
|
||||
"pero tambien utiliza más recursos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Define the oldest clients allowed to connect.\n"
|
||||
"Older clients are compatible in the sense that they will not crash when "
|
||||
@@ -3285,15 +3270,14 @@ msgid ""
|
||||
"Luanti still enforces its own internal minimum, and enabling\n"
|
||||
"strict_protocol_version_checking will effectively override this."
|
||||
msgstr ""
|
||||
"Definir los clientes más antiguos con permiso para conectarse.\n"
|
||||
"Los clientes más antiguos no se colgarán al intento de conectarse\n"
|
||||
"a nuevos servidores, pero no soportarán todas las nuevas características que "
|
||||
"espera.\n"
|
||||
"Esto permite un control mucho más ajustado que "
|
||||
"strict_protocol_version_checking.\n"
|
||||
"Aún así, Minetest sigue forzando su minimo interno, y activar\n"
|
||||
"strict_protocol_version_checking ignorará efectivamente todos los parámetros "
|
||||
"que haya definido."
|
||||
"Define los clientes más antiguos permitidos a conectarse.\n"
|
||||
"Los clientes más antiguos son compatibles en el sentido de que no se "
|
||||
"bloquearán al conectarse\n"
|
||||
"a nuevos servidores, pero pueden no soportar todas las nuevas "
|
||||
"características que esperas.\n"
|
||||
"Esto permite un control más detallado del strict_protocol_version_checking.\n"
|
||||
"Luanti aún aplica su propio mínimo interno, y habilitar\n"
|
||||
"strict_protocol_version_checking anulará efectivamente esto."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Defines areas where trees have apples."
|
||||
@@ -3432,16 +3416,16 @@ msgid "Display Density Scaling Factor"
|
||||
msgstr "Factor del Escalado de la Densidad de Visualización"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Distance in nodes at which transparency depth sorting is enabled.\n"
|
||||
"Use this to limit the performance impact of transparency depth sorting.\n"
|
||||
"Set to 0 to disable it entirely."
|
||||
msgstr ""
|
||||
"Distancia en nodos a la que se activa la clasificación por profundidad de "
|
||||
"transparencia\n"
|
||||
"transparencia.\n"
|
||||
"Utilice esto para limitar el impacto en el rendimiento de la clasificación "
|
||||
"por profundidad de transparencia"
|
||||
"por profundidad de transparencia.\n"
|
||||
"Establezca en 0 para desactivarlo por completo."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Domain name of server, to be displayed in the serverlist."
|
||||
@@ -3473,9 +3457,8 @@ msgid "Dungeon noise"
|
||||
msgstr "Ruido de mazmorra"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Effects"
|
||||
msgstr "Efectos gráficos"
|
||||
msgstr "Efectos"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable Automatic Exposure"
|
||||
@@ -3584,11 +3567,8 @@ msgid "Enable random user input (only used for testing)."
|
||||
msgstr "Habilitar entrada aleatoria (solo usar para pruebas)."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Enable smooth lighting with simple ambient occlusion."
|
||||
msgstr ""
|
||||
"Habilita iluminación suave con oclusión ambiental simple.\n"
|
||||
"Deshabilítalo para mayor velocidad o una vista diferente."
|
||||
msgstr "Habilita iluminación suave con oclusión ambiental simple."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable split login/register"
|
||||
@@ -3610,6 +3590,8 @@ msgstr ""
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable updates available indicator on content tab"
|
||||
msgstr ""
|
||||
"Habilitar el indicador de actualizaciones disponibles en la pestaña de "
|
||||
"contenido"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -3659,24 +3641,25 @@ msgid "Enables animation of inventory items."
|
||||
msgstr "Habilita la animación de objetos en el inventario."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Enables caching of facedir rotated meshes.\n"
|
||||
"This is only effective with shaders disabled."
|
||||
msgstr "Habilitar cacheado de mallas giradas."
|
||||
msgstr ""
|
||||
"Habilita el almacenamiento en caché de mallas rotadas por dirección de cara."
|
||||
"\n"
|
||||
"Esto solo es efectivo con los shaders desactivados."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enables debug and error-checking in the OpenGL driver."
|
||||
msgstr "Activa depuración y comprobación de errores en el driver OpenGL."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Enables smooth scrolling."
|
||||
msgstr "Habilitar posprocesamiento"
|
||||
msgstr "Activar el desplazamiento suave."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enables the post processing pipeline."
|
||||
msgstr "Activas el proceso de posprocesamiento."
|
||||
msgstr "Habilita la canalización para el posprocesamiento."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -3685,6 +3668,11 @@ msgid ""
|
||||
"\"auto\" means that the touchscreen controls will be enabled and disabled\n"
|
||||
"automatically depending on the last used input method."
|
||||
msgstr ""
|
||||
"Habilita los controles de pantalla táctil, lo que te permite jugar el juego "
|
||||
"con una pantalla táctil.\n"
|
||||
"\"auto\" significa que los controles de la pantalla táctil se habilitarán y "
|
||||
"deshabilitarán\n"
|
||||
"automáticamente dependiendo del último método de entrada utilizado."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -4270,6 +4258,9 @@ msgid ""
|
||||
"ContentDB to\n"
|
||||
"check for package updates when opening the mainmenu."
|
||||
msgstr ""
|
||||
"Si está habilitado y tiene paquetes ContentDB instalados, Luanti puede "
|
||||
"comunicarse con ContentDB para\n"
|
||||
"Compruebe si hay actualizaciones del paquete al abrir el menú principal."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -4414,26 +4405,25 @@ msgid "Instrument chat commands on registration."
|
||||
msgstr "Instrumento de comandos del chat al registrarse."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Instrument global callback functions on registration.\n"
|
||||
"(anything you pass to a core.register_*() function)"
|
||||
msgstr ""
|
||||
"Funciones de devolución de llamada global del instrumento en el registro.\n"
|
||||
"(Cualquier cosa que pase a una función minetest.register _ * ())"
|
||||
"Instrumentar funciones callback globales en el registro.\n"
|
||||
"(cualquier cosa que se pase a una función core.register_*())"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
"Instrument the action function of Active Block Modifiers on registration."
|
||||
msgstr ""
|
||||
"Instrumenta la función de acción de los Modificadores de Bloque Activos en "
|
||||
"Instrumentar la función de acción de los modificadores de bloque activo en "
|
||||
"el registro."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
"Instrument the action function of Loading Block Modifiers on registration."
|
||||
msgstr ""
|
||||
"Instrumenta la función de acción de Carga de Modificadores de Bloque en el "
|
||||
"Instrumentar la función de acción de Cargar modificadores de bloque en el "
|
||||
"registro."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -4628,20 +4618,18 @@ msgid "Leaves style"
|
||||
msgstr "Estilo de las hojas"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Leaves style:\n"
|
||||
"- Fancy: all faces visible\n"
|
||||
"- Simple: only outer faces\n"
|
||||
"- Opaque: disable transparency"
|
||||
msgstr ""
|
||||
"Estilo de hojas:\n"
|
||||
"- Fabuloso: Todas las caras son visibles\n"
|
||||
"- Simple: Solo caras externas, si se utilizan special_tiles definidos\n"
|
||||
"- Opaco: Transparencia desactivada"
|
||||
"Estilo de las hojas:\n"
|
||||
"- Elegante: todas las caras visibles\n"
|
||||
"- Simple: solo las caras exteriores\n"
|
||||
"- Opaco: desactivar la transparencia"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Length of a server tick (the interval at which everything is generally "
|
||||
"updated),\n"
|
||||
@@ -4650,10 +4638,13 @@ msgid ""
|
||||
"This is a lower bound, i.e. server steps may not be shorter than this, but\n"
|
||||
"they are often longer."
|
||||
msgstr ""
|
||||
"Duración de un tick del servidor (el intervalo en el que todo es "
|
||||
"actualizado),\n"
|
||||
"expresado en segundos.\n"
|
||||
"No se aplica a las sesiones iniciadas desde el menú del cliente."
|
||||
"Duración de un tick del servidor (intervalo en el que generalmente se "
|
||||
"actualiza todo),\n"
|
||||
"indicada en segundos.\n"
|
||||
"No se aplica a las sesiones alojadas desde el menú cliente.\n"
|
||||
"Se trata de un límite inferior, es decir, los pasos del servidor no pueden "
|
||||
"ser más cortos que esto, pero\n"
|
||||
"a menudo son más largos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Length of liquid waves."
|
||||
@@ -4775,9 +4766,8 @@ msgid "Liquid queue purge time"
|
||||
msgstr "Tiempo de purga de colas de líquidos"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Liquid reflections"
|
||||
msgstr "Fluidez líquida"
|
||||
msgstr "Reflejos líquidos"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Liquid sinking"
|
||||
@@ -5121,6 +5111,10 @@ msgid ""
|
||||
"You generally don't need to change this, however busy servers may benefit "
|
||||
"from a higher number."
|
||||
msgstr ""
|
||||
"Número máximo de paquetes enviados por paso de envío en el código de red de "
|
||||
"bajo nivel.\n"
|
||||
"Generalmente no es necesario cambiar esto, sin embargo los servidores "
|
||||
"ocupados pueden beneficiarse de un número mayor."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Maximum number of players that can be connected simultaneously."
|
||||
@@ -5358,7 +5352,7 @@ msgstr "Resaltado de los nodos"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Node specular"
|
||||
msgstr ""
|
||||
msgstr "Nodo especular"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "NodeTimer interval"
|
||||
@@ -5414,15 +5408,14 @@ msgid "Number of messages a player may send per 10 seconds."
|
||||
msgstr "Número de mensajes que un jugador puede enviar cada 10 segundos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Number of threads to use for mesh generation.\n"
|
||||
"Value of 0 (default) will let Luanti autodetect the number of available "
|
||||
"threads."
|
||||
msgstr ""
|
||||
"Numero de hilos del procesador a usar para la generación de mayas.\n"
|
||||
"Un valor de 0 (default) dejará que Minetest detecte automáticamente el "
|
||||
"número de hilos disponibles."
|
||||
"Número de hilos a utilizar para la generación de mallas.\n"
|
||||
"Un valor de 0 (predeterminado) permitirá que Luanti detecte automáticamente "
|
||||
"el número de hilos disponibles."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Occlusion Culler"
|
||||
@@ -5454,18 +5447,16 @@ msgid "OpenGL debug"
|
||||
msgstr "Depuración OpenGL"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Optimize GUI for touchscreens"
|
||||
msgstr "Usar retícula en pantalla táctil"
|
||||
msgstr "Optimización de la interfaz gráfica para pantallas táctiles"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Optional override for chat weblink color."
|
||||
msgstr "Anulación opcional del color de un enlace web en el chat."
|
||||
msgstr "Cambio opcional del color del enlace web del chat."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Other Effects"
|
||||
msgstr "Efectos gráficos"
|
||||
msgstr "Otros efectos"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -5582,21 +5573,20 @@ msgid "Prometheus listener address"
|
||||
msgstr "Dirección del receptor \"Prometheus\""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Prometheus listener address.\n"
|
||||
"If Luanti is compiled with ENABLE_PROMETHEUS option enabled,\n"
|
||||
"enable metrics listener for Prometheus on that address.\n"
|
||||
"Metrics can be fetched on http://127.0.0.1:30000/metrics"
|
||||
msgstr ""
|
||||
"Dirección de escucha de \"Prometheus\".\n"
|
||||
"Si Minetest se compila con la opción 'ENABLE_PROMETHEUS' activada,\n"
|
||||
"se habilitará el detector de métricas para \"Prometheus\" en esa dirección.\n"
|
||||
"Las métricas pueden obtenerse en http://127.0.0.1:30000/metrics"
|
||||
"Dirección de escucha de Prometheus.\n"
|
||||
"Si Luanti se compila con la opción ENABLE_PROMETHEUS activada,\n"
|
||||
"habilita la escucha de métricas para Prometheus en esa dirección.\n"
|
||||
"Las métricas se pueden obtener en http://127.0.0.1:30000/metrics"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Proportion of large caves that contain liquid."
|
||||
msgstr "Proporción de cuevas grandes que contienen líquido."
|
||||
msgstr "Proporción de grandes cuevas que contienen líquido."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Protocol version minimum"
|
||||
@@ -5619,6 +5609,8 @@ msgstr ""
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Radius to use when the block bounds HUD feature is set to near blocks."
|
||||
msgstr ""
|
||||
"El radio que se utilizará cuando la función HUD de límite de bloque está en "
|
||||
"el modo Bloques cercanos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Raises terrain to make valleys around the rivers."
|
||||
@@ -5950,11 +5942,12 @@ msgid ""
|
||||
"Send names of online players to the serverlist. If disabled only the player "
|
||||
"count is revealed."
|
||||
msgstr ""
|
||||
"Envía los nombres de los jugadores en línea a la lista de servidores. Si "
|
||||
"está deshabilitada, solo se revela el número de jugadores."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Send player names to the server list"
|
||||
msgstr "Anunciar en esta lista de servidores."
|
||||
msgstr "Enviar nombres de los jugadores a la lista de servidores"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Server"
|
||||
@@ -5982,6 +5975,9 @@ msgid ""
|
||||
"Flags are positive. Uncheck the flag to disable corresponding anticheat "
|
||||
"module."
|
||||
msgstr ""
|
||||
"Configuración antitrampas del servidor.\n"
|
||||
"Las banderas son positivas. Desmarque la bandera para desactivar el módulo "
|
||||
"antitrampas correspondiente."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Server description"
|
||||
@@ -6142,6 +6138,8 @@ msgid ""
|
||||
"Shaders are a fundamental part of rendering and enable advanced visual "
|
||||
"effects."
|
||||
msgstr ""
|
||||
"Los Shaders son una parte fundamental del renderizado y permiten efectos "
|
||||
"visuales avanzados."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Shadow filter quality"
|
||||
@@ -6214,7 +6212,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Simulate translucency when looking at foliage in the sunlight."
|
||||
msgstr ""
|
||||
msgstr "Simule la translucidez al mirar el follaje a la luz del sol."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6269,9 +6267,8 @@ msgid "Smooth lighting"
|
||||
msgstr "Iluminación suave"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Smooth scrolling"
|
||||
msgstr "Iluminación suave"
|
||||
msgstr "Desplazado suave"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6298,9 +6295,8 @@ msgid "Sneaking speed, in nodes per second."
|
||||
msgstr "Velocidad agachado, en nodos por segundo."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Soft clouds"
|
||||
msgstr "Nubes 3D"
|
||||
msgstr "Nubes suaves"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Soft shadow radius"
|
||||
@@ -6544,7 +6540,6 @@ msgstr ""
|
||||
"los perfiles."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The gesture for punching players/entities.\n"
|
||||
"This can be overridden by games and mods.\n"
|
||||
@@ -6556,14 +6551,14 @@ msgid ""
|
||||
"Known from the classic Luanti mobile controls.\n"
|
||||
"Combat is more or less impossible."
|
||||
msgstr ""
|
||||
"El gesto para golpear jugadores/entidades.\n"
|
||||
"Los juegos y mods pueden ignorar esto.\n"
|
||||
"El gesto para golpear a jugadores/entidades.\n"
|
||||
"Esto puede ser anulado por juegos y mods.\n"
|
||||
"\n"
|
||||
"* sort_tap\n"
|
||||
"Fácil de usar y muy conocido por otros juegos que no se mencionarán.\n"
|
||||
"* short_tap\n"
|
||||
"Fácil de usar y bien conocido de otros juegos que no deben ser nombrados.\n"
|
||||
"\n"
|
||||
"* long_tap\n"
|
||||
"Conocido por los controles clásicos para móviles de Minetest.\n"
|
||||
"Conocido por los controles clásicos de móvil en Luanti.\n"
|
||||
"El combate es más o menos imposible."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -6630,24 +6625,22 @@ msgstr ""
|
||||
"Esto debe configurarse junto con active_object_send_range_blocks."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The rendering back-end.\n"
|
||||
"Note: A restart is required after changing this!\n"
|
||||
"OpenGL is the default for desktop, and OGLES2 for Android."
|
||||
msgstr ""
|
||||
"El back-end de renderizado.\n"
|
||||
"Nota: ¡se debe reiniciar después de cambiar esto!\n"
|
||||
"OpenGL es el predeterminado para PC, y OGLES2 para Android.\n"
|
||||
"Los shaders son compatibles con todos los sistemas excepto OGLES1."
|
||||
"Nota: ¡Es necesario reiniciar después de cambiar esto!\n"
|
||||
"OpenGL es el predeterminado para escritorio y OGLES2 para Android."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
"The sensitivity of the joystick axes for moving the\n"
|
||||
"in-game view frustum around."
|
||||
msgstr ""
|
||||
"La sensibilidad de los ejes del joystick para mover el\n"
|
||||
"en el juego."
|
||||
"La sensibilidad de los ejes del joystick para mover la\n"
|
||||
"vista del juego."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6768,6 +6761,8 @@ msgid ""
|
||||
"Tolerance of movement cheat detector.\n"
|
||||
"Increase the value if players experience stuttery movement."
|
||||
msgstr ""
|
||||
"Detector de trampas de tolerancia de movimiento.\n"
|
||||
"Aumente el valor si los jugadores experimentan movimientos entrecortados."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Tooltip delay"
|
||||
@@ -6778,9 +6773,8 @@ msgid "Touchscreen"
|
||||
msgstr "Pantalla táctil"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Touchscreen controls"
|
||||
msgstr "Umbral de la pantalla táctil"
|
||||
msgstr "Controles en pantalla táctil"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Touchscreen sensitivity"
|
||||
@@ -6795,9 +6789,8 @@ msgid "Tradeoffs for performance"
|
||||
msgstr "Contrapartidas para el rendimiento"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Translucent foliage"
|
||||
msgstr "Líquidos translúcidos"
|
||||
msgstr "Follaje translúcido"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Translucent liquids"
|
||||
@@ -6847,14 +6840,13 @@ msgstr ""
|
||||
"Esta configuración solo debe cambiarse si tiene problemas de rendimiento."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"URL to JSON file which provides information about the newest Luanti "
|
||||
"release.\n"
|
||||
"If this is empty the engine will never check for updates."
|
||||
msgstr ""
|
||||
"URL del archivo JSON que proporciona información sobre la última versión de "
|
||||
"Minetest\n"
|
||||
"URL del archivo JSON que proporciona información sobre la versión más "
|
||||
"reciente de Luanti.\n"
|
||||
"Si está vacío, el motor nunca buscará actualizaciones."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -6953,7 +6945,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Use smooth cloud shading."
|
||||
msgstr ""
|
||||
msgstr "Utilice un sombreado de nubes suave."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -7162,13 +7154,17 @@ msgstr "Color de los enlaces web"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "When enabled, liquid reflections are simulated."
|
||||
msgstr ""
|
||||
msgstr "Cuando está habilitado, se simulan reflejos de líquidos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
"When enabled, the GUI is optimized to be more usable on touchscreens.\n"
|
||||
"Whether this is enabled by default depends on your hardware form-factor."
|
||||
msgstr ""
|
||||
"Cuando está habilitada, la GUI se optimiza para que sea más fácil de usar en "
|
||||
"pantallas táctiles.\n"
|
||||
"Si esta opción está habilitada de manera predeterminada depende del factor "
|
||||
"de forma de su hardware."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -7294,15 +7290,14 @@ msgid "Window maximized"
|
||||
msgstr "Ventana maximizada"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Windows systems only: Start Luanti with the command line window in the "
|
||||
"background.\n"
|
||||
"Contains the same information as the file debug.txt (default name)."
|
||||
msgstr ""
|
||||
"Solo para sistemas Windows: Iniciar Minetest con la ventana de la linea de "
|
||||
"comandos en el fondo.\n"
|
||||
"Contiene la misma información que el archivo debug.txt (Nombre por defecto)."
|
||||
"Solo sistemas Windows: Inicia Luanti con la ventana de línea de comandos en "
|
||||
"segundo plano.\n"
|
||||
"Contiene la misma información que el archivo debug.txt (nombre por defecto)."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
|
||||
6465
po/es_US/luanti.po
Normal file
6465
po/es_US/luanti.po
Normal file
File diff suppressed because it is too large
Load Diff
411
po/fr/luanti.po
411
po/fr/luanti.po
File diff suppressed because it is too large
Load Diff
308
po/gl/luanti.po
308
po/gl/luanti.po
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-10-28 19:57+0100\n"
|
||||
"PO-Revision-Date: 2024-08-14 04:09+0000\n"
|
||||
"PO-Revision-Date: 2024-11-02 23:00+0000\n"
|
||||
"Last-Translator: ninjum <ninhum@gmx.com>\n"
|
||||
"Language-Team: Galician <https://hosted.weblate.org/projects/minetest/"
|
||||
"minetest/gl/>\n"
|
||||
@@ -12,7 +12,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.7-dev\n"
|
||||
"X-Generator: Weblate 5.8.2\n"
|
||||
|
||||
#: builtin/client/chatcommands.lua
|
||||
msgid "Clear the out chat queue"
|
||||
@@ -159,7 +159,7 @@ msgstr "Descargando $1..."
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
msgstr "Todo"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
@@ -168,7 +168,6 @@ msgid "Back"
|
||||
msgstr "Voltar"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#, fuzzy
|
||||
msgid "ContentDB is not available when Luanti was compiled without cURL"
|
||||
msgstr "ContentDB non está dispoñible cando Minetest compilouse sen cURL"
|
||||
|
||||
@@ -178,7 +177,7 @@ msgstr "Descargando..."
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Featured"
|
||||
msgstr ""
|
||||
msgstr "Destacado"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Games"
|
||||
@@ -214,7 +213,6 @@ msgid "Queued"
|
||||
msgstr "En cola"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#, fuzzy
|
||||
msgid "Texture Packs"
|
||||
msgstr "Paquetes de texturas"
|
||||
|
||||
@@ -268,9 +266,8 @@ msgid "Dependencies:"
|
||||
msgstr "Dependencias:"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
#, fuzzy
|
||||
msgid "Error getting dependencies for package $1"
|
||||
msgstr "Produciuse un erro ao obter dependencias para o paquete"
|
||||
msgstr "Produciuse un erro ao obter dependencias para o paquete $1"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
msgid "Install"
|
||||
@@ -305,44 +302,40 @@ msgid "Overwrite"
|
||||
msgstr "Sobrescribir"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "ContentDB page"
|
||||
msgstr "Ligazón URL de ContentDB"
|
||||
msgstr "Ligazón de ContentDB"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Description"
|
||||
msgstr "Descripción do servidor"
|
||||
msgstr "Descripción"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
msgstr "Doar"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Forum Topic"
|
||||
msgstr ""
|
||||
msgstr "Tema do foro"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Information"
|
||||
msgstr "Información:"
|
||||
msgstr "Información"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Install [$1]"
|
||||
msgstr "Instalar $1"
|
||||
msgstr "Instalar [$1]"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Issue Tracker"
|
||||
msgstr ""
|
||||
msgstr "Rastrexador de Problemas"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
msgstr "Fonte"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
msgstr "Traducir"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua builtin/mainmenu/tab_content.lua
|
||||
msgid "Uninstall"
|
||||
@@ -353,13 +346,12 @@ msgid "Update"
|
||||
msgstr "Actualizar"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Website"
|
||||
msgstr "Visitar sitio web"
|
||||
msgstr "Páxina web"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "by $1 — $2 downloads — +$3 / $4 / -$5"
|
||||
msgstr ""
|
||||
msgstr "por $1 — $2 descargas — +$3 / $4 / -$5"
|
||||
|
||||
#: builtin/mainmenu/content/pkgmgr.lua
|
||||
msgid "$1 (Enabled)"
|
||||
@@ -723,14 +715,12 @@ msgid "Dismiss"
|
||||
msgstr "Descartar"
|
||||
|
||||
#: builtin/mainmenu/dlg_reinstall_mtg.lua
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"For a long time, Luanti shipped with a default game called \"Minetest "
|
||||
"Game\". Since version 5.8.0, Luanti ships without a default game."
|
||||
msgstr ""
|
||||
"Durante moito tempo, o motor Minetest incluía un xogo predeterminado chamado "
|
||||
"\"Minetest Game\". Dende Minetest 5.8.0, Minetest inclúese sen un xogo "
|
||||
"predeterminado."
|
||||
"Durante moito tempo, Luanti incluía un xogo por defecto chamado 'Minetest "
|
||||
"Game'. Desde a versión 5.8.0, Luanti distribúese sen un xogo por defecto."
|
||||
|
||||
#: builtin/mainmenu/dlg_reinstall_mtg.lua
|
||||
msgid ""
|
||||
@@ -892,19 +882,16 @@ msgid "eased"
|
||||
msgstr "Suavizado"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable automatic exposure as well)"
|
||||
msgstr "(O xogo tamén precisará activar as sombras)"
|
||||
msgstr "(O xogo tamén necesitará habilitar a exposición automática.)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable bloom as well)"
|
||||
msgstr "(O xogo tamén precisará activar as sombras)"
|
||||
msgstr "(O xogo tamén necesitará habilitar efecto de bloom.)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable volumetric lighting as well)"
|
||||
msgstr "(O xogo tamén precisará activar as sombras)"
|
||||
msgstr "(O xogo tamén necesitará habilitar a iluminación volumétrica.)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "(Use system language)"
|
||||
@@ -916,7 +903,7 @@ msgstr "Accesibilidade"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "Auto"
|
||||
msgstr ""
|
||||
msgstr "Automático"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua src/gui/guiKeyChangeMenu.cpp
|
||||
#: src/gui/touchcontrols.cpp src/settings_translation_file.cpp
|
||||
@@ -982,18 +969,16 @@ msgid "Content: Mods"
|
||||
msgstr "Contido: modificacións"
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
#, fuzzy
|
||||
msgid "Enable"
|
||||
msgstr "Activado"
|
||||
msgstr "Habilitar"
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
#, fuzzy
|
||||
msgid "Shaders are disabled."
|
||||
msgstr "Actualización da cámara desactivada"
|
||||
msgstr "Os sombreadores están deshabilitados."
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
msgid "This is not a recommended configuration."
|
||||
msgstr ""
|
||||
msgstr "Esta non é unha configuración recomendada."
|
||||
|
||||
#: builtin/mainmenu/settings/shadows_component.lua
|
||||
msgid "(The game will need to enable shadows as well)"
|
||||
@@ -1154,18 +1139,16 @@ msgid "Install games from ContentDB"
|
||||
msgstr "Instalar xogos do ContentDB"
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
#, fuzzy
|
||||
msgid "Luanti doesn't come with a game by default."
|
||||
msgstr "Minetest non trae un xogo por defecto."
|
||||
msgstr "Luanti non vén cun xogo por defecto."
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Luanti is a game-creation platform that allows you to play many different "
|
||||
"games."
|
||||
msgstr ""
|
||||
"Minetest é unha plataforma de creación de xogos que che permite xogar a "
|
||||
"moitos xogos diferentes."
|
||||
"Luanti é unha plataforma de creación de xogos que che permite xogar a moitos "
|
||||
"xogos diferentes."
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
msgid "New"
|
||||
@@ -2269,37 +2252,38 @@ msgid "Sound Volume: %d%%"
|
||||
msgstr "Son: %d%%"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
#, fuzzy
|
||||
msgid "Joystick"
|
||||
msgstr "ID do joystick"
|
||||
msgstr "Joystick"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
msgid "Overflow menu"
|
||||
msgstr ""
|
||||
msgstr "Menú de desbordamento"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
#, fuzzy
|
||||
msgid "Toggle debug"
|
||||
msgstr "Alt. néboa"
|
||||
msgstr "Activar/desactivar depuración"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Another client is connected with this name. If your client closed "
|
||||
"unexpectedly, try again in a minute."
|
||||
msgstr ""
|
||||
"Outro cliente está conectado con este nome. Se o seu cliente pechouse "
|
||||
"inesperadamente, tenteo de novo nun minuto."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Empty passwords are disallowed. Set a password and try again."
|
||||
msgstr ""
|
||||
"Non se permiten contrasinais baleiros. Estableza un contrasinal e intente "
|
||||
"de novo."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Internal server error"
|
||||
msgstr ""
|
||||
msgstr "Erro interno do servidor"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Invalid password"
|
||||
msgstr "Anterior contrasinal"
|
||||
msgstr "Contrasinal non válido"
|
||||
|
||||
#. ~ DO NOT TRANSLATE THIS LITERALLY!
|
||||
#. This is a special string which needs to contain the translation's
|
||||
@@ -2322,46 +2306,48 @@ msgstr "O nome está en uso. Por favor, escolle outro nome"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Player name contains disallowed characters"
|
||||
msgstr ""
|
||||
msgstr "O nome do xogador contén caracteres non permitidos"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Player name not allowed"
|
||||
msgstr "Nome do xogador demasiado longo."
|
||||
msgstr "Nome de xogador non permitido"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Server shutting down"
|
||||
msgstr "Cerrando..."
|
||||
msgstr "O Servidor tase pechando"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"The server has experienced an internal error. You will now be disconnected."
|
||||
msgstr ""
|
||||
msgstr "O servidor experimentou un erro interno. Agora será desconectado."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "The server is running in singleplayer mode. You cannot connect."
|
||||
msgstr ""
|
||||
msgstr "O servidor está en modo un xogador. Non pode conectar."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Too many users"
|
||||
msgstr ""
|
||||
msgstr "Demasiados usuarios"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Unknown disconnect reason."
|
||||
msgstr ""
|
||||
msgstr "Razón da desconexión descoñecida."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Your client sent something the server didn't expect. Try reconnecting or "
|
||||
"updating your client."
|
||||
msgstr ""
|
||||
"O seu cliente enviou algo que o servidor non esperaba. Tente volver "
|
||||
"conectar ou actualizar o seu cliente."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Your client's version is not supported.\n"
|
||||
"Please contact the server administrator."
|
||||
msgstr ""
|
||||
"A versión do seu cliente non é compatible.\n"
|
||||
"Por favor, contacte co administrador do servidor."
|
||||
|
||||
#: src/server.cpp
|
||||
#, c-format
|
||||
@@ -2660,11 +2646,11 @@ msgstr "Método de suavizado (antialiasing)"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Anticheat flags"
|
||||
msgstr ""
|
||||
msgstr "Bandeiras antitrampas"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Anticheat movement tolerance"
|
||||
msgstr ""
|
||||
msgstr "Tolerancia ao movemento antitrampas"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Append item name"
|
||||
@@ -2699,7 +2685,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Apply specular shading to nodes."
|
||||
msgstr ""
|
||||
msgstr "Aplique sombreado especular aos nodos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Arm inertia"
|
||||
@@ -2819,9 +2805,8 @@ msgid "Biome noise"
|
||||
msgstr "Ruído de bioma"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Block bounds HUD radius"
|
||||
msgstr "Lím. bloques"
|
||||
msgstr "Raio de límites de bloques no HUD"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Block cull optimize distance"
|
||||
@@ -3036,7 +3021,6 @@ msgstr ""
|
||||
"Útil para probas. Vexa al_extensions.[h,cpp] para máis detalles."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
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 "
|
||||
@@ -3046,13 +3030,14 @@ msgid ""
|
||||
"These flags are independent from Luanti versions,\n"
|
||||
"so see a full list at https://content.minetest.net/help/content_flags/"
|
||||
msgstr ""
|
||||
"Lista de marcas separadas por comas para ocultar no repositorio de contido.\n"
|
||||
"\"Non libre\" pódese usar para ocultar paquetes que non sexan \"software "
|
||||
"libre\",\n"
|
||||
"segundo a definición da Free Software Foundation.\n"
|
||||
"Tamén podes especificar clasificacións de contido.\n"
|
||||
"Estas marcas son independentes das versións de Minetest,\n"
|
||||
"así que consulta unha lista completa en https://content.minetest.net/help/"
|
||||
"Lista de bandeiras separadas por comas que se ocultarán no repositorio de "
|
||||
"contido.\n"
|
||||
"\"nonfree\" pódese usar para ocultar paquetes que non cualifican como "
|
||||
"'software libre',\n"
|
||||
"tal como o define a Free Software Foundation.\n"
|
||||
"Tamén podes especificar valoracións de contido.\n"
|
||||
"Estas bandeiras son independentes das versións de Luanti,\n"
|
||||
"así que consulta a lista completa en https://content.minetest.net/help/"
|
||||
"content_flags/"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -3257,7 +3242,6 @@ msgstr ""
|
||||
"pero tamén consume máis recursos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Define the oldest clients allowed to connect.\n"
|
||||
"Older clients are compatible in the sense that they will not crash when "
|
||||
@@ -3269,16 +3253,15 @@ msgid ""
|
||||
"Luanti still enforces its own internal minimum, and enabling\n"
|
||||
"strict_protocol_version_checking will effectively override this."
|
||||
msgstr ""
|
||||
"Define os clientes máis antigos aos que se permite conectarse.\n"
|
||||
"Os clientes máis antigos son compatibles no sentido de que non fallarán ao "
|
||||
"conectarse\n"
|
||||
"a novos servidores, pero é posible que non admitan todas as novas "
|
||||
"características que esperas.\n"
|
||||
"Define os clientes máis antigos permitidos para conectarse.\n"
|
||||
"Os clientes máis antigos son compatibles no sentido de que non se bloquearán "
|
||||
"ao conectarse\n"
|
||||
"a servidores novos, pero poden non soportar todas as novas características "
|
||||
"que esperas.\n"
|
||||
"Isto permite un control máis detallado que a verificación estrita da versión "
|
||||
"do protocolo.\n"
|
||||
"Minetest segue aplicando o seu propio mínimo interno, e habilitar a\n"
|
||||
"verificación estrita da versión do protocolo sobreporá efectivamente esta "
|
||||
"configuración."
|
||||
"Luanti sigue aplicando o seu mínimo interno, e habilitar\n"
|
||||
"a verificación estrita da versión do protocolo anulará efectivamente isto."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Defines areas where trees have apples."
|
||||
@@ -3417,16 +3400,16 @@ msgid "Display Density Scaling Factor"
|
||||
msgstr "Factor de escala de densidade de exposición"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Distance in nodes at which transparency depth sorting is enabled.\n"
|
||||
"Use this to limit the performance impact of transparency depth sorting.\n"
|
||||
"Set to 0 to disable it entirely."
|
||||
msgstr ""
|
||||
"Distancia en nodos á que se habilita a ordenación de profundidade de "
|
||||
"transparencia\n"
|
||||
"Usa isto para limitar o impacto no rendemento da ordenación de profundidade "
|
||||
"de transparencia"
|
||||
"Distancia en nodos na que se habilita a ordenación de profundidade da "
|
||||
"translucidez.\n"
|
||||
"Usa isto para limitar o impacto na rendibilidade da ordenación de "
|
||||
"profundidade da translucidez.\n"
|
||||
"Establece a 0 para deshabilitalo completamente."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Domain name of server, to be displayed in the serverlist."
|
||||
@@ -3457,9 +3440,8 @@ msgid "Dungeon noise"
|
||||
msgstr "Sonido de calabozos"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Effects"
|
||||
msgstr "Efectos gráficos"
|
||||
msgstr "Efectos"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable Automatic Exposure"
|
||||
@@ -3570,11 +3552,8 @@ msgid "Enable random user input (only used for testing)."
|
||||
msgstr "Activar a entrada de comandos aleatoria (só para tests)."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Enable smooth lighting with simple ambient occlusion."
|
||||
msgstr ""
|
||||
"Activar a iluminación suave con oclusión de ambiente simple.\n"
|
||||
"Desactivar para velocidade ou vistas diferentes."
|
||||
msgstr "Habilitar iluminación suave cunha oclusión ambiental simple."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable split login/register"
|
||||
@@ -3596,6 +3575,7 @@ msgstr ""
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable updates available indicator on content tab"
|
||||
msgstr ""
|
||||
"Habilitar o indicador de actualizacións dispoñibles na lapela de contido"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -3644,11 +3624,12 @@ msgid "Enables animation of inventory items."
|
||||
msgstr "Activa a animación de obxectos no inventario."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Enables caching of facedir rotated meshes.\n"
|
||||
"This is only effective with shaders disabled."
|
||||
msgstr "Activa o rexistro de mallas xiradas."
|
||||
msgstr ""
|
||||
"Habilita a caché de mallas rotadas por cara.\n"
|
||||
"Isto só é efectivo cos sombreadores deshabilitados."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enables debug and error-checking in the OpenGL driver."
|
||||
@@ -3656,9 +3637,8 @@ msgstr ""
|
||||
"Habilita a depuración e a verificación de erros no controlador de OpenGL."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Enables smooth scrolling."
|
||||
msgstr "Habilitar o postprocesado"
|
||||
msgstr "Habilita o desprazamento suave."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enables the post processing pipeline."
|
||||
@@ -3671,6 +3651,11 @@ msgid ""
|
||||
"\"auto\" means that the touchscreen controls will be enabled and disabled\n"
|
||||
"automatically depending on the last used input method."
|
||||
msgstr ""
|
||||
"Habilita os controis de pantalla táctil, permitindo que xogues ao xogo cunha "
|
||||
"pantalla táctil.\n"
|
||||
"\"auto\" significa que os controis de pantalla táctil serán habilitados e "
|
||||
"deshabilitados\n"
|
||||
"automaticamente, dependendo do último método de entrada utilizado."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -4254,6 +4239,9 @@ msgid ""
|
||||
"ContentDB to\n"
|
||||
"check for package updates when opening the mainmenu."
|
||||
msgstr ""
|
||||
"Se está habilitado e ten instalados paquetes de ContentDB, Luanti pode "
|
||||
"contactar con ContentDB para\n"
|
||||
"comprobar se hai actualizacións de paquetes ao abrir o menú principal."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -4391,13 +4379,12 @@ msgid "Instrument chat commands on registration."
|
||||
msgstr "Instrumento de comandos do chat no rexistro."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Instrument global callback functions on registration.\n"
|
||||
"(anything you pass to a core.register_*() function)"
|
||||
msgstr ""
|
||||
"Instrumentación das funcións de chamadas de retorno globais no rexistro.\n"
|
||||
"(todo o que pasee a unha función minetest.register_*())"
|
||||
"Instrumentar funcións de devolución de chamada globais ao rexistrarse.\n"
|
||||
"(calquera cousa que pases a unha función core.register_*())"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -4603,21 +4590,18 @@ msgid "Leaves style"
|
||||
msgstr "Apariencia das follas"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Leaves style:\n"
|
||||
"- Fancy: all faces visible\n"
|
||||
"- Simple: only outer faces\n"
|
||||
"- Opaque: disable transparency"
|
||||
msgstr ""
|
||||
"Apariencia das follas:\n"
|
||||
"- Detalladas: todas as caras son visibles\n"
|
||||
"- Simples: só vense as caras externas, cando se utilizan special_tiles "
|
||||
"definidos\n"
|
||||
"- Opacas: desactiva a transparencia"
|
||||
"Estilo das follas:\n"
|
||||
"- Elegante: todas as caras son visibles\n"
|
||||
"- Simple: só as caras exteriores\n"
|
||||
"- Opaco: desactiva a transparencia"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Length of a server tick (the interval at which everything is generally "
|
||||
"updated),\n"
|
||||
@@ -4626,10 +4610,13 @@ msgid ""
|
||||
"This is a lower bound, i.e. server steps may not be shorter than this, but\n"
|
||||
"they are often longer."
|
||||
msgstr ""
|
||||
"Duración dun tick de servidor (o intervalo no que xeralmente se actualiza "
|
||||
"todo),\n"
|
||||
"indicado en segundos.\n"
|
||||
"Non se aplica ás sesións aloxadas desde o menú do cliente."
|
||||
"Lonxitude dun tick do servidor (o intervalo no que todo se actualiza en "
|
||||
"xeral),\n"
|
||||
"expresada en segundos.\n"
|
||||
"Non se aplica a sesións hospedadas desde o menú do cliente.\n"
|
||||
"Este é un límite inferior, é dicir, os pasos do servidor non poden ser máis "
|
||||
"curtos que isto, pero\n"
|
||||
"a miúdo son máis longos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Length of liquid waves."
|
||||
@@ -4749,9 +4736,8 @@ msgid "Liquid queue purge time"
|
||||
msgstr "Tempo para eliminar filas de líquidos"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Liquid reflections"
|
||||
msgstr "Fluidez dos líquidos"
|
||||
msgstr "Reflexións de líquidos"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Liquid sinking"
|
||||
@@ -5093,6 +5079,10 @@ msgid ""
|
||||
"You generally don't need to change this, however busy servers may benefit "
|
||||
"from a higher number."
|
||||
msgstr ""
|
||||
"Número máximo de paquetes enviados por cada paso de envío no código de redes "
|
||||
"de baixo nivel.\n"
|
||||
"Xeralmente, non é necesario cambiar isto; con todo, os servidores moi "
|
||||
"ocupados poden beneficiarse dun número máis alto."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Maximum number of players that can be connected simultaneously."
|
||||
@@ -5327,7 +5317,7 @@ msgstr "Resaltado dos nós"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Node specular"
|
||||
msgstr ""
|
||||
msgstr "Nodo especular"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "NodeTimer interval"
|
||||
@@ -5381,14 +5371,13 @@ msgid "Number of messages a player may send per 10 seconds."
|
||||
msgstr "Cantidade de mensaxes que un xogador pode enviar por cada 10 segundos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Number of threads to use for mesh generation.\n"
|
||||
"Value of 0 (default) will let Luanti autodetect the number of available "
|
||||
"threads."
|
||||
msgstr ""
|
||||
"Número de fíos a usar para xeración de mallas.\n"
|
||||
"O valor 0 (predeterminado) permitirá a Minetest detectar automaticamente o "
|
||||
"Número de fíos a utilizar para a xeración de mallas.\n"
|
||||
"Un valor de 0 (por defecto) permitirá que Luanti detecte automaticamente o "
|
||||
"número de fíos dispoñibles."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -5421,18 +5410,16 @@ msgid "OpenGL debug"
|
||||
msgstr "Depuración de OpenGL"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Optimize GUI for touchscreens"
|
||||
msgstr "Usar retículo para pantalla táctil"
|
||||
msgstr "Optimizar a GUI para pantallas táctiles"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Optional override for chat weblink color."
|
||||
msgstr "Substitución opcional da cor da ligazón web do chat."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Other Effects"
|
||||
msgstr "Efectos gráficos"
|
||||
msgstr "Outros efectos"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -5548,17 +5535,16 @@ msgid "Prometheus listener address"
|
||||
msgstr "Enderezo do Prometheus"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Prometheus listener address.\n"
|
||||
"If Luanti is compiled with ENABLE_PROMETHEUS option enabled,\n"
|
||||
"enable metrics listener for Prometheus on that address.\n"
|
||||
"Metrics can be fetched on http://127.0.0.1:30000/metrics"
|
||||
msgstr ""
|
||||
"Enderezo do Prometheus.\n"
|
||||
"Se Minetest se compila coa opción ENABLE_PROMETHEUS activada,\n"
|
||||
"habilita a obteción de métricas para Prometheus nese enderezo.\n"
|
||||
"As métricas pódense obter en http://127.0.0.1:30000/metrics"
|
||||
"Enderezo do escoitador de Prometheus.\n"
|
||||
"Se Luanti está compilado coa opción ENABLE_PROMETHEUS habilitada,\n"
|
||||
"habilita a escoita de métricas para Prometheus nese enderezo.\n"
|
||||
"As métricas poden ser obtidas en http://127.0.0.1:30000/metrics"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Proportion of large caves that contain liquid."
|
||||
@@ -5585,6 +5571,8 @@ msgstr ""
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Radius to use when the block bounds HUD feature is set to near blocks."
|
||||
msgstr ""
|
||||
"Raio a utilizar cando a función de HUD de límites de bloques está "
|
||||
"configurada para bloques próximos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Raises terrain to make valleys around the rivers."
|
||||
@@ -5906,11 +5894,12 @@ msgid ""
|
||||
"Send names of online players to the serverlist. If disabled only the player "
|
||||
"count is revealed."
|
||||
msgstr ""
|
||||
"Enviar os nomes dos xogadores en liña á lista de servidores. Se está "
|
||||
"deshabilitado, só se revela o número de xogadores."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Send player names to the server list"
|
||||
msgstr "Anuncar en esta lista de servidores."
|
||||
msgstr "Enviar os nomes dos xogadores á lista de servidores"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Server"
|
||||
@@ -5938,6 +5927,9 @@ msgid ""
|
||||
"Flags are positive. Uncheck the flag to disable corresponding anticheat "
|
||||
"module."
|
||||
msgstr ""
|
||||
"Configuración antitrampas do servidor.\n"
|
||||
"As bandeiras son positivas. Desmarque a bandeira para deshabilitar o módulo "
|
||||
"antitrampas correspondente."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Server description"
|
||||
@@ -6096,6 +6088,8 @@ msgid ""
|
||||
"Shaders are a fundamental part of rendering and enable advanced visual "
|
||||
"effects."
|
||||
msgstr ""
|
||||
"Os sombreadores son unha parte fundamental do renderizado e permiten efectos "
|
||||
"visuais avanzados."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Shadow filter quality"
|
||||
@@ -6166,7 +6160,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Simulate translucency when looking at foliage in the sunlight."
|
||||
msgstr ""
|
||||
msgstr "Simular a translucidez ao mirar a follaxe á luz do sol."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6220,9 +6214,8 @@ msgid "Smooth lighting"
|
||||
msgstr "Iluminación suave"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Smooth scrolling"
|
||||
msgstr "Iluminación suave"
|
||||
msgstr "Desprazamento suave"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6249,9 +6242,8 @@ msgid "Sneaking speed, in nodes per second."
|
||||
msgstr "Velocidade ao se agachar, en nós por segundo."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Soft clouds"
|
||||
msgstr "Nubes 3D"
|
||||
msgstr "Nubes suaves"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Soft shadow radius"
|
||||
@@ -6492,7 +6484,6 @@ msgstr ""
|
||||
"O camiño do ficheiro relativa ao camiño do mundo onde se gardarán os perfís."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The gesture for punching players/entities.\n"
|
||||
"This can be overridden by games and mods.\n"
|
||||
@@ -6504,14 +6495,14 @@ msgid ""
|
||||
"Known from the classic Luanti mobile controls.\n"
|
||||
"Combat is more or less impossible."
|
||||
msgstr ""
|
||||
"O xesto para golpear xogadores/entidades.\n"
|
||||
"Isto pode ser anulado por xogos e modificacións.\n"
|
||||
"A xesto para golpear xogadores/entidades.\n"
|
||||
"Isto pode ser substituído por xogos e mods.\n"
|
||||
"\n"
|
||||
"* toque_curto\n"
|
||||
"Fácil de usar e coñecido doutros xogos que non deben ser nomeados.\n"
|
||||
"* toque curto\n"
|
||||
"Fácil de usar e ben coñecido doutros xogos que non se deben nomear.\n"
|
||||
"\n"
|
||||
"* toque_longo\n"
|
||||
"Coñecido polos controis móbiles clásicos de Minetest.\n"
|
||||
"* toque longo\n"
|
||||
"Coñecido polos controis móbiles clásicos en Luanti.\n"
|
||||
"O combate é máis ou menos imposible."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -6577,16 +6568,14 @@ msgstr ""
|
||||
"Isto debería configurarse xunto con active_object_send_range_blocks."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The rendering back-end.\n"
|
||||
"Note: A restart is required after changing this!\n"
|
||||
"OpenGL is the default for desktop, and OGLES2 for Android."
|
||||
msgstr ""
|
||||
"O backend de renderizado.\n"
|
||||
"Nota: É preciso reiniciar despois de cambiar isto!\n"
|
||||
"OpenGL é o predeterminado para escritorio, e OGLES2 para Android.\n"
|
||||
"Os sombreadores son compatibles con todo menos con OGLES1."
|
||||
"Nota: É necesario reiniciar despois de cambiar isto!\n"
|
||||
"OpenGL é o predeterminado para escritorio, e OGLES2 para Android"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6714,6 +6703,8 @@ msgid ""
|
||||
"Tolerance of movement cheat detector.\n"
|
||||
"Increase the value if players experience stuttery movement."
|
||||
msgstr ""
|
||||
"Tolerancia do detector de trampas de movemento.\n"
|
||||
"Aumenta o valor se os xogadores experimentan movementos entrecortados."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Tooltip delay"
|
||||
@@ -6724,9 +6715,8 @@ msgid "Touchscreen"
|
||||
msgstr "Pantalla táctil"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Touchscreen controls"
|
||||
msgstr "Límite da pantalla táctil"
|
||||
msgstr "Controis de pantalla táctil"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Touchscreen sensitivity"
|
||||
@@ -6741,9 +6731,8 @@ msgid "Tradeoffs for performance"
|
||||
msgstr "Compensacións para o rendemento"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Translucent foliage"
|
||||
msgstr "Líquidos translúcidos"
|
||||
msgstr "Follaxe translúcida"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Translucent liquids"
|
||||
@@ -6793,15 +6782,14 @@ msgstr ""
|
||||
"Esta configuración só debe ser cambiada se tes problemas de rendemento."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"URL to JSON file which provides information about the newest Luanti "
|
||||
"release.\n"
|
||||
"If this is empty the engine will never check for updates."
|
||||
msgstr ""
|
||||
"Enderezo para ficheiro JSON que proporciona información sobre a versión máis "
|
||||
"recente de Minetest\n"
|
||||
"Se está baleiro, o motor nunca buscará actualizacións."
|
||||
"URL do arquivo JSON que proporciona información sobre a versión máis nova de "
|
||||
"Luanti.\n"
|
||||
"Se isto está baleiro, o motor nunca comprobará se hai actualizacións."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "URL to the server list displayed in the Multiplayer Tab."
|
||||
@@ -6897,7 +6885,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Use smooth cloud shading."
|
||||
msgstr ""
|
||||
msgstr "Usar sombreado suave das nubes."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -7105,13 +7093,16 @@ msgstr "Cor de ligazóns web"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "When enabled, liquid reflections are simulated."
|
||||
msgstr ""
|
||||
msgstr "Unha vez habilitado, simúlase a reflexión de líquidos."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
"When enabled, the GUI is optimized to be more usable on touchscreens.\n"
|
||||
"Whether this is enabled by default depends on your hardware form-factor."
|
||||
msgstr ""
|
||||
"Unha vez habilitado, a GUI está optimizada para ser máis sinxelo de usar en "
|
||||
"pantallas táctiles.\n"
|
||||
"Se isto está habilitado por defecto depende do formato do seu hardware."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -7233,15 +7224,14 @@ msgid "Window maximized"
|
||||
msgstr "Xanela maximizada"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Windows systems only: Start Luanti with the command line window in the "
|
||||
"background.\n"
|
||||
"Contains the same information as the file debug.txt (default name)."
|
||||
msgstr ""
|
||||
"Só sistemas Windows: Inicia Minetest coa xanela da liña de comandos en "
|
||||
"Só Sistemas Windows: Iniciar Luanti coa xanela da liña de comandos en "
|
||||
"segundo plano.\n"
|
||||
"Contén a mesma información que o ficheiro debug.txt (nome por defecto)."
|
||||
"Contén a mesma información co arquivo debug.txt (nome por defecto)."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
|
||||
365
po/ja/luanti.po
365
po/ja/luanti.po
File diff suppressed because it is too large
Load Diff
279
po/ru/luanti.po
279
po/ru/luanti.po
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: Russian (Minetest)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-10-28 19:57+0100\n"
|
||||
"PO-Revision-Date: 2024-10-19 17:16+0000\n"
|
||||
"PO-Revision-Date: 2024-11-01 17:58+0000\n"
|
||||
"Last-Translator: BlackImpostor <SkyBuilderOFFICAL@yandex.ru>\n"
|
||||
"Language-Team: Russian <https://hosted.weblate.org/projects/minetest/"
|
||||
"minetest/ru/>\n"
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Weblate 5.8-rc\n"
|
||||
"X-Generator: Weblate 5.8.2-dev\n"
|
||||
|
||||
#: builtin/client/chatcommands.lua
|
||||
msgid "Clear the out chat queue"
|
||||
@@ -160,7 +160,7 @@ msgstr "$1 скачивается…"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
msgstr "Всё"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
@@ -169,9 +169,8 @@ msgid "Back"
|
||||
msgstr "Назад"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#, fuzzy
|
||||
msgid "ContentDB is not available when Luanti was compiled without cURL"
|
||||
msgstr "ContentDB недоступен, когда Minetest скомпилирован без cURL"
|
||||
msgstr "ContentDB недоступен, когда Luanti скомпилирован без cURL"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Downloading..."
|
||||
@@ -179,7 +178,7 @@ msgstr "Загрузка…"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Featured"
|
||||
msgstr ""
|
||||
msgstr "Рекомендуемое"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Games"
|
||||
@@ -215,9 +214,8 @@ msgid "Queued"
|
||||
msgstr "В очереди"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#, fuzzy
|
||||
msgid "Texture Packs"
|
||||
msgstr "Наборы текстур"
|
||||
msgstr "Наборы Текстур"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "The package $1 was not found."
|
||||
@@ -269,9 +267,8 @@ msgid "Dependencies:"
|
||||
msgstr "Зависимости:"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
#, fuzzy
|
||||
msgid "Error getting dependencies for package $1"
|
||||
msgstr "Ошибка при получении зависимостей для дополнения"
|
||||
msgstr "Ошибка при получении зависимостей для дополнения $1"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
msgid "Install"
|
||||
@@ -306,44 +303,40 @@ msgid "Overwrite"
|
||||
msgstr "Перезаписать"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "ContentDB page"
|
||||
msgstr "Ссылка ContentDB"
|
||||
msgstr "Страница ContentDB"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Description"
|
||||
msgstr "Описание сервера"
|
||||
msgstr "Описание"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
msgstr "Пожертвовать"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Forum Topic"
|
||||
msgstr ""
|
||||
msgstr "Страница на Форуме"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Information"
|
||||
msgstr "Информация:"
|
||||
msgstr "Информация"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Install [$1]"
|
||||
msgstr "Установить $1"
|
||||
msgstr "Установить [$1]"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Issue Tracker"
|
||||
msgstr ""
|
||||
msgstr "Треккер Проблем"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
msgstr "Источник"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
msgstr "Перевести"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua builtin/mainmenu/tab_content.lua
|
||||
msgid "Uninstall"
|
||||
@@ -354,13 +347,12 @@ msgid "Update"
|
||||
msgstr "Обновить"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Website"
|
||||
msgstr "Посетить вебсайт"
|
||||
msgstr "Веб-сайт"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "by $1 — $2 downloads — +$3 / $4 / -$5"
|
||||
msgstr ""
|
||||
msgstr "сделано $1 — $2 загрузок — +$3 / $4 / -$5"
|
||||
|
||||
#: builtin/mainmenu/content/pkgmgr.lua
|
||||
msgid "$1 (Enabled)"
|
||||
@@ -722,14 +714,13 @@ msgid "Dismiss"
|
||||
msgstr "Пропустить"
|
||||
|
||||
#: builtin/mainmenu/dlg_reinstall_mtg.lua
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"For a long time, Luanti shipped with a default game called \"Minetest "
|
||||
"Game\". Since version 5.8.0, Luanti ships without a default game."
|
||||
msgstr ""
|
||||
"Долгое время движок Minetest поставлялся вместе с игрой по умолчанию под "
|
||||
"названием «Minetest Game». Начиная с Minetest 5.8.0, Minetest поставляется "
|
||||
"без игры по умолчанию."
|
||||
"Долгое время движок Luanti поставлялся вместе с игрой по умолчанию под "
|
||||
"названием «Minetest Game». Начиная с версии 5.8.0, Luanti поставляется без "
|
||||
"игры по умолчанию."
|
||||
|
||||
#: builtin/mainmenu/dlg_reinstall_mtg.lua
|
||||
msgid ""
|
||||
@@ -890,19 +881,16 @@ msgid "eased"
|
||||
msgstr "cглаженный"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable automatic exposure as well)"
|
||||
msgstr "(В игре также необходимо будет включить тени)"
|
||||
msgstr "(В игре также необходимо будет включить автоматическую экспозицию)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable bloom as well)"
|
||||
msgstr "(В игре также необходимо будет включить тени)"
|
||||
msgstr "(В игре также нужно будет включить функцию размытия)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
#, fuzzy
|
||||
msgid "(The game will need to enable volumetric lighting as well)"
|
||||
msgstr "(В игре также необходимо будет включить тени)"
|
||||
msgstr "(В игре также необходимо будет включить объемное освещение)"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "(Use system language)"
|
||||
@@ -914,7 +902,7 @@ msgstr "Доступность"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "Auto"
|
||||
msgstr ""
|
||||
msgstr "Авто"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua src/gui/guiKeyChangeMenu.cpp
|
||||
#: src/gui/touchcontrols.cpp src/settings_translation_file.cpp
|
||||
@@ -945,7 +933,7 @@ msgstr "Основной"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "Movement"
|
||||
msgstr "Движение"
|
||||
msgstr "Перемещение"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "Reset setting to default"
|
||||
@@ -980,18 +968,16 @@ msgid "Content: Mods"
|
||||
msgstr "Контент: Дополнения"
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
#, fuzzy
|
||||
msgid "Enable"
|
||||
msgstr "Включено"
|
||||
msgstr "Включить"
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
#, fuzzy
|
||||
msgid "Shaders are disabled."
|
||||
msgstr "Обновление камеры выключено"
|
||||
msgstr "Шейдеры выключены."
|
||||
|
||||
#: builtin/mainmenu/settings/shader_warning_component.lua
|
||||
msgid "This is not a recommended configuration."
|
||||
msgstr ""
|
||||
msgstr "Это конфигурация не рекомендуется."
|
||||
|
||||
#: builtin/mainmenu/settings/shadows_component.lua
|
||||
msgid "(The game will need to enable shadows as well)"
|
||||
@@ -1028,7 +1014,7 @@ msgstr "Очень низкие"
|
||||
|
||||
#: builtin/mainmenu/tab_about.lua
|
||||
msgid "About"
|
||||
msgstr "Узнать подробнее"
|
||||
msgstr "Подробней"
|
||||
|
||||
#: builtin/mainmenu/tab_about.lua
|
||||
msgid "Active Contributors"
|
||||
@@ -1151,17 +1137,15 @@ msgid "Install games from ContentDB"
|
||||
msgstr "Установить игры с ContentDB"
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
#, fuzzy
|
||||
msgid "Luanti doesn't come with a game by default."
|
||||
msgstr "Minetest Game больше не стоит по умолчанию."
|
||||
msgstr "Luanti больше не стоит по умолчанию."
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Luanti is a game-creation platform that allows you to play many different "
|
||||
"games."
|
||||
msgstr ""
|
||||
"Minetest - это платформа для создания модификаций, которая позволяет вам "
|
||||
"Luanti - это платформа для создания модификаций, которая позволяет вам "
|
||||
"играть во множество различных игр и устанавливать дополнения."
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
@@ -1219,7 +1203,7 @@ msgstr "Избранное"
|
||||
|
||||
#: builtin/mainmenu/tab_online.lua
|
||||
msgid "Incompatible Servers"
|
||||
msgstr "Несовместимые серверы"
|
||||
msgstr "Несовместимые Сервера"
|
||||
|
||||
#: builtin/mainmenu/tab_online.lua
|
||||
msgid "Join Game"
|
||||
@@ -2261,37 +2245,36 @@ msgid "Sound Volume: %d%%"
|
||||
msgstr "Громкость звука: %d%%"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
#, fuzzy
|
||||
msgid "Joystick"
|
||||
msgstr "ID контроллера"
|
||||
msgstr "Джойстик"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
msgid "Overflow menu"
|
||||
msgstr ""
|
||||
msgstr "Переполненное меню"
|
||||
|
||||
#: src/gui/touchcontrols.cpp
|
||||
#, fuzzy
|
||||
msgid "Toggle debug"
|
||||
msgstr "Вкл/откл туман"
|
||||
msgstr "Переключать отладку"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Another client is connected with this name. If your client closed "
|
||||
"unexpectedly, try again in a minute."
|
||||
msgstr ""
|
||||
"Другой клиент уже подключён с таким именем. Если ваш клиент неожиданно "
|
||||
"закрылся, повторите попытку через минуту."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Empty passwords are disallowed. Set a password and try again."
|
||||
msgstr ""
|
||||
msgstr "Пустые пароли не принимаются. Установите пароль и повторите попытку."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Internal server error"
|
||||
msgstr ""
|
||||
msgstr "Внутренняя ошибка сервера"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Invalid password"
|
||||
msgstr "Старый пароль"
|
||||
msgstr "Неверный пароль"
|
||||
|
||||
#. ~ DO NOT TRANSLATE THIS LITERALLY!
|
||||
#. This is a special string which needs to contain the translation's
|
||||
@@ -2314,46 +2297,48 @@ msgstr "Имя занято. Пожалуйста, выберите другое
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Player name contains disallowed characters"
|
||||
msgstr ""
|
||||
msgstr "Имя игрока содержит запрещенные символы"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Player name not allowed"
|
||||
msgstr "Имя игрока слишком длинное."
|
||||
msgstr "Имя игрока запрещено"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Server shutting down"
|
||||
msgstr "Завершение…"
|
||||
msgstr "Сервер завершает работу"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"The server has experienced an internal error. You will now be disconnected."
|
||||
msgstr ""
|
||||
msgstr "У сервера произошла внутренняя ошибка. Вы будете отключены от сети."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "The server is running in singleplayer mode. You cannot connect."
|
||||
msgstr ""
|
||||
msgstr "Сервер работает в одиночном режиме. Вам не удается подключиться."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Too many users"
|
||||
msgstr ""
|
||||
msgstr "Слишком много пользователей"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid "Unknown disconnect reason."
|
||||
msgstr ""
|
||||
msgstr "Неизвестная причина отключения."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Your client sent something the server didn't expect. Try reconnecting or "
|
||||
"updating your client."
|
||||
msgstr ""
|
||||
"Ваш клиент отправил то, чего сервер не ожидал. Попробуйте повторно "
|
||||
"подключиться или обновить свой клиент."
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
"Your client's version is not supported.\n"
|
||||
"Please contact the server administrator."
|
||||
msgstr ""
|
||||
"Версия вашего клиента не поддерживается.\n"
|
||||
"Пожалуйста, свяжитесь с администратором сервера."
|
||||
|
||||
#: src/server.cpp
|
||||
#, c-format
|
||||
@@ -2647,11 +2632,11 @@ msgstr "Метод сглаживания"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Anticheat flags"
|
||||
msgstr ""
|
||||
msgstr "Флаги Анти-чита"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Anticheat movement tolerance"
|
||||
msgstr ""
|
||||
msgstr "Допуск движения Анти-чита"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Append item name"
|
||||
@@ -2688,7 +2673,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Apply specular shading to nodes."
|
||||
msgstr ""
|
||||
msgstr "Применить зеркальное затенение к блокам."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Arm inertia"
|
||||
@@ -2809,9 +2794,8 @@ msgid "Biome noise"
|
||||
msgstr "Шум биомов"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Block bounds HUD radius"
|
||||
msgstr "Границы мапблока"
|
||||
msgstr "Радиус ограничения HUD блока"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Block cull optimize distance"
|
||||
@@ -3028,7 +3012,6 @@ msgstr ""
|
||||
"cpp]."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
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 "
|
||||
@@ -3038,12 +3021,13 @@ msgid ""
|
||||
"These flags are independent from Luanti versions,\n"
|
||||
"so see a full list at https://content.minetest.net/help/content_flags/"
|
||||
msgstr ""
|
||||
"Список меток, разделённый запятыми, для скрытия в репозитории контента.\n"
|
||||
"«nonfree» скрывает дополнения не являющиеся «свободным ПО»\n"
|
||||
"по определению Фонда свободного программного обеспечения.\n"
|
||||
"Вы также можете указать рейтинг дополнений.\n"
|
||||
"Эти метки не зависят от версии Minetest,\n"
|
||||
"узнать полный список можно на https://content.minetest.net/help/"
|
||||
"Список разделенных запятыми флажков для скрытия в хранилище контента.\n"
|
||||
"\"nonfree\" может использоваться для скрытия пакетов,\n"
|
||||
"которые не подпадают под категорию Free Software Foundation,\n"
|
||||
"как это определено Фондом свободного программного обеспечения.\n"
|
||||
"Вы также можете указать рейтинг контента. Эти флаги не зависят от версий "
|
||||
"Luanti,\n"
|
||||
"поэтому смотрите полный список по адресу https://content.minetest.net/help/"
|
||||
"content_flags/"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -3249,7 +3233,6 @@ msgstr ""
|
||||
"но также использует больше ресурсов."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Define the oldest clients allowed to connect.\n"
|
||||
"Older clients are compatible in the sense that they will not crash when "
|
||||
@@ -3263,14 +3246,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Определите, к каким самым старым клиентам разрешено подключаться.\n"
|
||||
"Старые клиенты совместимы в том смысле, что они не будут выходить из строя "
|
||||
"при подключении\n"
|
||||
"к новым серверам, но они могут поддерживать не все новые функции, которые вы "
|
||||
"ожидаете.\n"
|
||||
"при подключении к новым серверам,\n"
|
||||
"но они могут поддерживать не все новые функции, которые вы ожидаете.\n"
|
||||
"Это позволяет осуществлять более детальный контроль, чем "
|
||||
"strict_protocol_version_checking.\n"
|
||||
"Minetest по-прежнему применяет свой собственный внутренний минимум, и "
|
||||
"включение\n"
|
||||
"strict_protocol_version_checking эффективно отменит это."
|
||||
"Luanti по-прежнему применяет свой собственный внутренний минимум,\n"
|
||||
"и включение strict_protocol_version_checking эффективно отменит это."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Defines areas where trees have apples."
|
||||
@@ -3406,14 +3387,16 @@ msgid "Display Density Scaling Factor"
|
||||
msgstr "Коэффициент масштабирования плотности отображения"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Distance in nodes at which transparency depth sorting is enabled.\n"
|
||||
"Use this to limit the performance impact of transparency depth sorting.\n"
|
||||
"Set to 0 to disable it entirely."
|
||||
msgstr ""
|
||||
"Расстояние в нодах на котором включено разделение по глубине прозрачности\n"
|
||||
"Используйте это, чтобы ограничить его влияние на производительность"
|
||||
"Расстояние в блоках, на котором включена сортировка по глубине прозрачности."
|
||||
"\n"
|
||||
"Используйте это значение, чтобы ограничить влияние сортировки по глубине "
|
||||
"прозрачности на производительность.\n"
|
||||
"Задайте значение 0, чтобы полностью отключить ее."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Domain name of server, to be displayed in the serverlist."
|
||||
@@ -3444,9 +3427,8 @@ msgid "Dungeon noise"
|
||||
msgstr "Шум подземелий"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Effects"
|
||||
msgstr "Графические эффекты"
|
||||
msgstr "Эффекты"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable Automatic Exposure"
|
||||
@@ -3553,11 +3535,8 @@ msgid "Enable random user input (only used for testing)."
|
||||
msgstr "Включить случайный ввод пользователя (только для тестов)."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Enable smooth lighting with simple ambient occlusion."
|
||||
msgstr ""
|
||||
"Включить мягкое освещение с простым глобальным затенением.\n"
|
||||
"Отключите для более высокой скорости или другого вида."
|
||||
msgstr "Включить плавное освещение с помощью простой внешней окклюзии."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable split login/register"
|
||||
@@ -3579,7 +3558,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enable updates available indicator on content tab"
|
||||
msgstr ""
|
||||
msgstr "Включить индикатор доступности обновлений на вкладке «Контент»"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -3629,20 +3608,20 @@ msgid "Enables animation of inventory items."
|
||||
msgstr "Включить анимацию предметов в инвентаре."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Enables caching of facedir rotated meshes.\n"
|
||||
"This is only effective with shaders disabled."
|
||||
msgstr "Включает кэширование повёрнутых мешей."
|
||||
msgstr ""
|
||||
"Включает кэширование повернутых сеток facedir.\n"
|
||||
"Это работает только при отключенных шейдерах."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enables debug and error-checking in the OpenGL driver."
|
||||
msgstr "Включает отладку и проверку ошибок в драйвере OpenGL."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Enables smooth scrolling."
|
||||
msgstr "Включить Постобработку"
|
||||
msgstr "Обеспечивает плавную прокрутку."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Enables the post processing pipeline."
|
||||
@@ -3655,6 +3634,11 @@ msgid ""
|
||||
"\"auto\" means that the touchscreen controls will be enabled and disabled\n"
|
||||
"automatically depending on the last used input method."
|
||||
msgstr ""
|
||||
"Включает сенсорные элементы управления, позволяя вам играть в игру с помощью "
|
||||
"сенсорного экрана.\n"
|
||||
"\"auto\" означает, что сенсорные элементы управления будут включаться и "
|
||||
"отключаться\n"
|
||||
"автоматически в зависимости от последнего использованного метода ввода."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -4225,6 +4209,9 @@ msgid ""
|
||||
"ContentDB to\n"
|
||||
"check for package updates when opening the mainmenu."
|
||||
msgstr ""
|
||||
"Если включено и у вас установлены пакеты ContentDB, Luanti может связаться с "
|
||||
"ContentDB,\n"
|
||||
"чтобы проверить наличие обновлений пакетов при открытии главного меню."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -4356,13 +4343,12 @@ msgid "Instrument chat commands on registration."
|
||||
msgstr "Замерять команды чата при регистрации."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Instrument global callback functions on registration.\n"
|
||||
"(anything you pass to a core.register_*() function)"
|
||||
msgstr ""
|
||||
"Замерять глобальные обратные вызовы\n"
|
||||
"(всё, что вы передаёте в функции вида minetest.register_*())"
|
||||
"Функции глобального обратного вызова инструмента при регистрации.\n"
|
||||
"(все, что вы передаете в функцию core.register_*())"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -4565,7 +4551,6 @@ msgid "Leaves style"
|
||||
msgstr "Стиль листвы"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Leaves style:\n"
|
||||
"- Fancy: all faces visible\n"
|
||||
@@ -4574,11 +4559,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Стили листвы:\n"
|
||||
"- Fancy: видны все стороны\n"
|
||||
"- Simple: видны внешние стороны, если используется special_tiles\n"
|
||||
"- Opaque: прозачность отключена"
|
||||
"- Simple: видны внешние стороны\n"
|
||||
"- Opaque: отключённая прозрачность"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Length of a server tick (the interval at which everything is generally "
|
||||
"updated),\n"
|
||||
@@ -4587,9 +4571,12 @@ msgid ""
|
||||
"This is a lower bound, i.e. server steps may not be shorter than this, but\n"
|
||||
"they are often longer."
|
||||
msgstr ""
|
||||
"Длительность тика сервера (интервал, с которым обычно все обновляется),\n"
|
||||
"Длительность тика сервера (интервал, с которым обычно обновляется вся "
|
||||
"информация),\n"
|
||||
"указанная в секундах.\n"
|
||||
"Не применяется к сеансам, размещенным из клиентского меню."
|
||||
"Не применяется к сеансам, размещаемым из клиентского меню.\n"
|
||||
"Это нижняя граница, т.е. шаги сервера могут быть не короче этого значения,\n"
|
||||
"но часто они длиннее."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Length of liquid waves."
|
||||
@@ -4704,9 +4691,8 @@ msgid "Liquid queue purge time"
|
||||
msgstr "Время очистки очереди жидкостей"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Liquid reflections"
|
||||
msgstr "Текучесть жидкости"
|
||||
msgstr "Отражения жидкости"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Liquid sinking"
|
||||
@@ -5043,6 +5029,10 @@ msgid ""
|
||||
"You generally don't need to change this, however busy servers may benefit "
|
||||
"from a higher number."
|
||||
msgstr ""
|
||||
"Максимальное количество пакетов, отправляемых на шаг отправки в коде "
|
||||
"низкоуровневой сети.\n"
|
||||
"Обычно это не требуется изменять, однако для загруженных серверов может быть "
|
||||
"полезно большее количество."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Maximum number of players that can be connected simultaneously."
|
||||
@@ -5272,7 +5262,7 @@ msgstr "Подсветка нод"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Node specular"
|
||||
msgstr ""
|
||||
msgstr "Зеркальный блок"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "NodeTimer interval"
|
||||
@@ -5328,14 +5318,13 @@ msgstr ""
|
||||
"Количество сообщений, которые игрок может отправить в течении 10 секунд."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Number of threads to use for mesh generation.\n"
|
||||
"Value of 0 (default) will let Luanti autodetect the number of available "
|
||||
"threads."
|
||||
msgstr ""
|
||||
"Количество потоков, используемых для генерации мешей.\n"
|
||||
"Значение 0 (по умолчанию) позволит Minetest автоматически определять "
|
||||
"Значение 0 (по умолчанию) позволит Luanti автоматически определять "
|
||||
"количество доступных потоков."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -5365,18 +5354,16 @@ msgid "OpenGL debug"
|
||||
msgstr "Отладка OpenGL"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Optimize GUI for touchscreens"
|
||||
msgstr "Использовать перекрестие для сенсорного экрана"
|
||||
msgstr "Оптимизирует графический интерфейс для сенсорных экранов"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Optional override for chat weblink color."
|
||||
msgstr "Опциональное переопределение цвета ссылки в чате."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Other Effects"
|
||||
msgstr "Графические эффекты"
|
||||
msgstr "Другие Эффекты"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -5492,7 +5479,6 @@ msgid "Prometheus listener address"
|
||||
msgstr "Адрес прослушивания Prometheus"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Prometheus listener address.\n"
|
||||
"If Luanti is compiled with ENABLE_PROMETHEUS option enabled,\n"
|
||||
@@ -5500,7 +5486,7 @@ msgid ""
|
||||
"Metrics can be fetched on http://127.0.0.1:30000/metrics"
|
||||
msgstr ""
|
||||
"Адрес прослушивания Prometheus.\n"
|
||||
"Если Minetest скомпилирован с опцией ENABLE_PROMETHEUS,\n"
|
||||
"Если Luanti скомпилирован с опцией ENABLE_PROMETHEUS,\n"
|
||||
"включить прослушивание метрик для Prometheus по этому адресу.\n"
|
||||
"Метрики можно получить на http://127.0.0.1:30000/metrics"
|
||||
|
||||
@@ -5528,6 +5514,8 @@ msgstr ""
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Radius to use when the block bounds HUD feature is set to near blocks."
|
||||
msgstr ""
|
||||
"Радиус, используемый, когда функция отображения границ блоков установлена на "
|
||||
"ближние блоки."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Raises terrain to make valleys around the rivers."
|
||||
@@ -5851,11 +5839,12 @@ msgid ""
|
||||
"Send names of online players to the serverlist. If disabled only the player "
|
||||
"count is revealed."
|
||||
msgstr ""
|
||||
"Отправлять имена онлайн-игроков в список серверов. Если этот параметр "
|
||||
"отключен, отображается только количество игроков."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Send player names to the server list"
|
||||
msgstr "Анонсировать в этот список серверов."
|
||||
msgstr "Отправлять имена игроков на список серверов"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Server"
|
||||
@@ -5883,6 +5872,9 @@ msgid ""
|
||||
"Flags are positive. Uncheck the flag to disable corresponding anticheat "
|
||||
"module."
|
||||
msgstr ""
|
||||
"Конфигурация Ати-чита сервера.\n"
|
||||
"Флажки являются положительными. Снимите флажок, чтобы отключить "
|
||||
"соответствующий модуль анти-чита."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Server description"
|
||||
@@ -6037,6 +6029,8 @@ msgid ""
|
||||
"Shaders are a fundamental part of rendering and enable advanced visual "
|
||||
"effects."
|
||||
msgstr ""
|
||||
"Шейдеры являются фундаментальной частью рендеринга и обеспечивают "
|
||||
"расширенные визуальные эффекты."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Shadow filter quality"
|
||||
@@ -6107,7 +6101,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Simulate translucency when looking at foliage in the sunlight."
|
||||
msgstr ""
|
||||
msgstr "Имитировать прозрачность при взгляде на листву в солнечном свете."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6161,9 +6155,8 @@ msgid "Smooth lighting"
|
||||
msgstr "Мягкое освещение"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Smooth scrolling"
|
||||
msgstr "Мягкое освещение"
|
||||
msgstr "Плавная прокрутка"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6191,9 +6184,8 @@ msgid "Sneaking speed, in nodes per second."
|
||||
msgstr "Скорость ходьбы украдкой, в нодах в секунду."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Soft clouds"
|
||||
msgstr "Объёмные облака"
|
||||
msgstr "Мягкие облака"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Soft shadow radius"
|
||||
@@ -6431,7 +6423,6 @@ msgstr ""
|
||||
"Путь к файлу, куда будут сохранены профили, относительно пути к вашему миру."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The gesture for punching players/entities.\n"
|
||||
"This can be overridden by games and mods.\n"
|
||||
@@ -6451,7 +6442,7 @@ msgstr ""
|
||||
"указываются.\n"
|
||||
"\n"
|
||||
"* длинный удар\n"
|
||||
"Известен по классическому мобильному элементу управления Minetest.\n"
|
||||
"Известен по классическому мобильному элементу управления Luanti.\n"
|
||||
"Сражение более или менее невозможно."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -6516,7 +6507,6 @@ msgstr ""
|
||||
"Это должно быть настроено вместе с active_object_send_range_blocks."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The rendering back-end.\n"
|
||||
"Note: A restart is required after changing this!\n"
|
||||
@@ -6525,8 +6515,7 @@ msgstr ""
|
||||
"Серверная часть рендеринга.\n"
|
||||
"Примечание: После изменения этого параметра требуется перезагрузка!\n"
|
||||
"По умолчанию для настольных компьютеров используется OpenGL, а для Android - "
|
||||
"OGLES2.\n"
|
||||
"Шейдеры поддерживаются всеми, кроме OGLES1."
|
||||
"OGLES2."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -6651,6 +6640,8 @@ msgid ""
|
||||
"Tolerance of movement cheat detector.\n"
|
||||
"Increase the value if players experience stuttery movement."
|
||||
msgstr ""
|
||||
"Детектор читерства \"Устойчивость к движению\".\n"
|
||||
"Увеличьте значение, если игроки начинают неуверенно двигаться."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Tooltip delay"
|
||||
@@ -6661,9 +6652,8 @@ msgid "Touchscreen"
|
||||
msgstr "Сенсорный экран"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Touchscreen controls"
|
||||
msgstr "Порог сенсорного экрана"
|
||||
msgstr "Сенсорное управление"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Touchscreen sensitivity"
|
||||
@@ -6678,9 +6668,8 @@ msgid "Tradeoffs for performance"
|
||||
msgstr "Компромиссы для производительности"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Translucent foliage"
|
||||
msgstr "Полупрозрачные жидкости"
|
||||
msgstr "Полупрозрачная листва"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Translucent liquids"
|
||||
@@ -6731,14 +6720,13 @@ msgstr ""
|
||||
"производительностью."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"URL to JSON file which provides information about the newest Luanti "
|
||||
"release.\n"
|
||||
"If this is empty the engine will never check for updates."
|
||||
msgstr ""
|
||||
"URL-адрес файла JSON, который предоставляет информацию о последней версии "
|
||||
"Minetest\n"
|
||||
"Luanti.\n"
|
||||
"Если поле не заполнено, движок никогда не будет проверять наличие обновлений."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
@@ -6838,7 +6826,7 @@ msgstr ""
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Use smooth cloud shading."
|
||||
msgstr ""
|
||||
msgstr "Используйте плавный шейдинг облаков."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -7046,13 +7034,17 @@ msgstr "Цвет ссылки"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "When enabled, liquid reflections are simulated."
|
||||
msgstr ""
|
||||
msgstr "При включении имитируются отражения от жидкости."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
"When enabled, the GUI is optimized to be more usable on touchscreens.\n"
|
||||
"Whether this is enabled by default depends on your hardware form-factor."
|
||||
msgstr ""
|
||||
"Если этот параметр будет включен, графический интерфейс оптимизирован для "
|
||||
"более удобного использования на сенсорных экранах.\n"
|
||||
"Будет ли он включен по умолчанию, зависит от форм-фактора вашего "
|
||||
"оборудования."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
@@ -7167,15 +7159,14 @@ msgid "Window maximized"
|
||||
msgstr "Окно развёрнуто"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Windows systems only: Start Luanti with the command line window in the "
|
||||
"background.\n"
|
||||
"Contains the same information as the file debug.txt (default name)."
|
||||
msgstr ""
|
||||
"Только для Windows: запускать Minetest с окном командной строки на заднем "
|
||||
"плане\n"
|
||||
"Содержит ту же информацию, что и файл debug.txt (имя файла по умолчанию)."
|
||||
"Только для систем Windows: Запустите Luanti с помощью окна командной строки "
|
||||
"в фоновом режиме.\n"
|
||||
"Содержит ту же информацию, что и файл debug.txt (имя по умолчанию)."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid ""
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: Ukrainian (Minetest)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-10-28 19:57+0100\n"
|
||||
"PO-Revision-Date: 2024-08-04 22:09+0000\n"
|
||||
"PO-Revision-Date: 2024-11-04 01:00+0000\n"
|
||||
"Last-Translator: Yof <Yof@users.noreply.hosted.weblate.org>\n"
|
||||
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/minetest/"
|
||||
"minetest/uk/>\n"
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Weblate 5.7-dev\n"
|
||||
"X-Generator: Weblate 5.8.2\n"
|
||||
|
||||
#: builtin/client/chatcommands.lua
|
||||
msgid "Clear the out chat queue"
|
||||
@@ -160,7 +160,7 @@ msgstr "$1 завантажується..."
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
msgstr "Все"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
@@ -169,9 +169,8 @@ msgid "Back"
|
||||
msgstr "Назад"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#, fuzzy
|
||||
msgid "ContentDB is not available when Luanti was compiled without cURL"
|
||||
msgstr "ContentDB недоступний, якщо Minetest було скомпільовано без cURL"
|
||||
msgstr "ContentDB недоступний, якщо Luanti скомпільовано без cURL"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
msgid "Downloading..."
|
||||
@@ -215,7 +214,6 @@ msgid "Queued"
|
||||
msgstr "У черзі"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_contentdb.lua
|
||||
#, fuzzy
|
||||
msgid "Texture Packs"
|
||||
msgstr "Набори текстур"
|
||||
|
||||
@@ -269,9 +267,8 @@ msgid "Dependencies:"
|
||||
msgstr "Залежності:"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
#, fuzzy
|
||||
msgid "Error getting dependencies for package $1"
|
||||
msgstr "Помилка при отриманні залежностей для пакунку"
|
||||
msgstr "Помилка при отриманні залежностей для пакунку $1"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
msgid "Install"
|
||||
@@ -306,32 +303,28 @@ msgid "Overwrite"
|
||||
msgstr "Перезаписати"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "ContentDB page"
|
||||
msgstr "Адреса ContentDB"
|
||||
msgstr "Сторінка ContentDB"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Description"
|
||||
msgstr "Опис сервера"
|
||||
msgstr "Опис"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
msgstr "Пожертвувати"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Forum Topic"
|
||||
msgstr ""
|
||||
msgstr "Тема на форумі"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Information"
|
||||
msgstr "Інформація:"
|
||||
msgstr "Інформація"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Install [$1]"
|
||||
msgstr "Встановити $1"
|
||||
msgstr "Встановити [$1]"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Issue Tracker"
|
||||
@@ -944,7 +937,7 @@ msgstr "Загальне"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "Movement"
|
||||
msgstr "Переміщення"
|
||||
msgstr "Рух"
|
||||
|
||||
#: builtin/mainmenu/settings/dlg_settings.lua
|
||||
msgid "Reset setting to default"
|
||||
|
||||
@@ -3,16 +3,16 @@ msgstr ""
|
||||
"Project-Id-Version: Chinese (Simplified) (Minetest)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-10-28 19:57+0100\n"
|
||||
"PO-Revision-Date: 2024-07-31 22:09+0000\n"
|
||||
"PO-Revision-Date: 2024-11-01 22:24+0000\n"
|
||||
"Last-Translator: y5nw <y5nw@users.noreply.hosted.weblate.org>\n"
|
||||
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
|
||||
"minetest/minetest/zh_Hans/>\n"
|
||||
"Language-Team: Chinese (Simplified Han script) <https://hosted.weblate.org/"
|
||||
"projects/minetest/minetest/zh_Hans/>\n"
|
||||
"Language: zh_CN\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 5.7-dev\n"
|
||||
"X-Generator: Weblate 5.8.2-dev\n"
|
||||
|
||||
#: builtin/client/chatcommands.lua
|
||||
msgid "Clear the out chat queue"
|
||||
@@ -267,9 +267,8 @@ msgid "Dependencies:"
|
||||
msgstr "依赖项:"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
#, fuzzy
|
||||
msgid "Error getting dependencies for package $1"
|
||||
msgstr "无法获取这个包的依赖项"
|
||||
msgstr "无法获取$1的依赖项"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_install.lua
|
||||
msgid "Install"
|
||||
@@ -309,9 +308,8 @@ msgid "ContentDB page"
|
||||
msgstr "ContentDB网址"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Description"
|
||||
msgstr "服务器描述"
|
||||
msgstr "描述"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Donate"
|
||||
@@ -324,7 +322,7 @@ msgstr ""
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Information"
|
||||
msgstr "信息:"
|
||||
msgstr "信息"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
@@ -337,11 +335,11 @@ msgstr ""
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
msgstr "源代码"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
msgstr "翻译"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua builtin/mainmenu/tab_content.lua
|
||||
msgid "Uninstall"
|
||||
@@ -352,9 +350,8 @@ msgid "Update"
|
||||
msgstr "更新"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
#, fuzzy
|
||||
msgid "Website"
|
||||
msgstr "访问网站"
|
||||
msgstr "网站"
|
||||
|
||||
#: builtin/mainmenu/content/dlg_package.lua
|
||||
msgid "by $1 — $2 downloads — +$3 / $4 / -$5"
|
||||
@@ -718,8 +715,8 @@ msgid ""
|
||||
"For a long time, Luanti shipped with a default game called \"Minetest "
|
||||
"Game\". Since version 5.8.0, Luanti ships without a default game."
|
||||
msgstr ""
|
||||
"一直以来,Minetest 游戏引擎默认已经自带了“Minetest Game”这个子游戏。但是从 "
|
||||
"Minetest 5.8.0 版本起,Minetest 将不再自带任何子游戏。"
|
||||
"一直以来,Luanti 游戏引擎默认自带了“Minetest Game”这个子游戏。但是从 5.8.0 "
|
||||
"版本起,Luanti 不再自带任何子游戏。"
|
||||
|
||||
#: builtin/mainmenu/dlg_reinstall_mtg.lua
|
||||
msgid ""
|
||||
@@ -1140,7 +1137,7 @@ msgstr "从 ContentDB 安装游戏"
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
#, fuzzy
|
||||
msgid "Luanti doesn't come with a game by default."
|
||||
msgstr "Minetest Game 不再是默认自带的子游戏了"
|
||||
msgstr "Luanti 不自带任何子游戏。"
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
msgid ""
|
||||
@@ -1181,7 +1178,6 @@ msgid "Start Game"
|
||||
msgstr "启动游戏"
|
||||
|
||||
#: builtin/mainmenu/tab_local.lua
|
||||
#, fuzzy
|
||||
msgid "You need to install a game before you can create a world."
|
||||
msgstr "您需要先安装一个子游戏才能创建新的世界。"
|
||||
|
||||
@@ -2207,12 +2203,10 @@ msgid "Open"
|
||||
msgstr "打开"
|
||||
|
||||
#: src/gui/guiOpenURL.cpp
|
||||
#, fuzzy
|
||||
msgid "Open URL?"
|
||||
msgstr "是否打开网页?"
|
||||
|
||||
#: src/gui/guiOpenURL.cpp
|
||||
#, fuzzy
|
||||
msgid "Unable to open URL"
|
||||
msgstr "无法打开网页"
|
||||
|
||||
@@ -2296,18 +2290,19 @@ msgid "Name is taken. Please choose another name"
|
||||
msgstr "名称已被占用。请选择其他名称"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Player name contains disallowed characters"
|
||||
msgstr ""
|
||||
msgstr "玩家名称包含不允许使用的字符"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Player name not allowed"
|
||||
msgstr "玩家名称过长。"
|
||||
msgstr "不允许使用该玩家名称"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
#, fuzzy
|
||||
msgid "Server shutting down"
|
||||
msgstr "关闭中..."
|
||||
msgstr "服务器正在关闭"
|
||||
|
||||
#: src/network/clientpackethandler.cpp
|
||||
msgid ""
|
||||
@@ -2337,6 +2332,8 @@ msgid ""
|
||||
"Your client's version is not supported.\n"
|
||||
"Please contact the server administrator."
|
||||
msgstr ""
|
||||
"服务器不支持这个客户端版本。\n"
|
||||
"请联系管理员。"
|
||||
|
||||
#: src/server.cpp
|
||||
#, c-format
|
||||
@@ -5735,15 +5732,15 @@ msgstr ""
|
||||
"18 = 4D \"Mandelbulb\" 朱利亚集."
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Send names of online players to the serverlist. If disabled only the player "
|
||||
"count is revealed."
|
||||
msgstr ""
|
||||
msgstr "向服务器列表发送在线玩家的名称。如果禁用此设置,服务器只发送玩家数量。"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
#, fuzzy
|
||||
msgid "Send player names to the server list"
|
||||
msgstr "向服务器表公开服务器。"
|
||||
msgstr "向服务器列表公开玩家名称"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "Server"
|
||||
@@ -6574,7 +6571,9 @@ msgid ""
|
||||
"URL to JSON file which provides information about the newest Luanti "
|
||||
"release.\n"
|
||||
"If this is empty the engine will never check for updates."
|
||||
msgstr "提供最新 Minetest 版本信息的 JSON 文件的 URL"
|
||||
msgstr ""
|
||||
"提供最新 Luanti 版本信息的 JSON 文件的 URL。\n"
|
||||
"如果设置为空,Luanti 不会查找新版本。"
|
||||
|
||||
#: src/settings_translation_file.cpp
|
||||
msgid "URL to the server list displayed in the Multiplayer Tab."
|
||||
|
||||
@@ -598,6 +598,14 @@ if(PRECOMPILE_HEADERS)
|
||||
target_precompile_headers(EngineCommon PRIVATE ${PRECOMPILED_HEADERS_LIST})
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
# Configure the Info.plist file
|
||||
configure_file(
|
||||
"${CMAKE_SOURCE_DIR}/misc/macos/Info.plist.in"
|
||||
"${CMAKE_BINARY_DIR}/Info.plist"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(BUILD_CLIENT)
|
||||
# client target
|
||||
if(ANDROID)
|
||||
@@ -605,6 +613,47 @@ if(BUILD_CLIENT)
|
||||
else()
|
||||
add_executable(${PROJECT_NAME})
|
||||
endif()
|
||||
|
||||
|
||||
if(CMAKE_GENERATOR STREQUAL "Xcode")
|
||||
# File with used entitlements
|
||||
set(XCODE_CODE_SIGN_ENTITLEMENTS "${CMAKE_SOURCE_DIR}/misc/macos/entitlements/release.entitlements" CACHE FILEPATH "Path to entitlements file to be used with Xcode signing")
|
||||
|
||||
set(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/build")
|
||||
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/build")
|
||||
|
||||
target_sources(${PROJECT_NAME} PUBLIC ${client_RESOURCES})
|
||||
|
||||
add_dependencies(${PROJECT_NAME} translations)
|
||||
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
MACOSX_BUNDLE TRUE
|
||||
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_BINARY_DIR}/Info.plist"
|
||||
RESOURCE "${client_RESOURCES}"
|
||||
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "org.luanti.luanti"
|
||||
XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME "YES"
|
||||
XCODE_ATTRIBUTE_INSTALL_PATH "/Applications"
|
||||
XCODE_ATTRIBUTE_SKIP_INSTALL "NO"
|
||||
XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym"
|
||||
XCODE_ATTRIBUTE_GCC_GENERATE_DEBUGGING_SYMBOLS "YES"
|
||||
XCODE_ATTRIBUTE_CONFIGURATION_BUILD_DIR "$(inherited)"
|
||||
XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${XCODE_CODE_SIGN_ENTITLEMENTS}"
|
||||
)
|
||||
|
||||
# Prinv env variables to file, for debugging purposes
|
||||
#add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
||||
# COMMAND ${CMAKE_COMMAND} -E env bash ${CMAKE_SOURCE_DIR}/util/xcode/capture_env.sh ${CMAKE_BINARY_DIR}/post_env.log
|
||||
#)
|
||||
|
||||
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/util/xcode/install_resources.cmake
|
||||
-DTARGET_DIR=$<TARGET_FILE_DIR:${PROJECT_NAME}>
|
||||
-DBINARY_DIR=${CMAKE_BINARY_DIR}
|
||||
-DPROJECT_NAME=${PROJECT_NAME}
|
||||
COMMENT "Checking INSTALL_ROOT and copying resources"
|
||||
)
|
||||
endif()
|
||||
|
||||
list(SORT client_SRCS)
|
||||
target_sources(${PROJECT_NAME} PRIVATE
|
||||
$<TARGET_OBJECTS:EngineCommon>
|
||||
|
||||
@@ -741,7 +741,8 @@ void GenericCAO::addToScene(ITextureSource *tsrc, scene::ISceneManager *smgr)
|
||||
});
|
||||
} else if (m_prop.visual == "mesh") {
|
||||
grabMatrixNode();
|
||||
scene::IAnimatedMesh *mesh = m_client->getMesh(m_prop.mesh, true);
|
||||
// can't cache mesh if shaders disabled, since we modify vertices
|
||||
scene::IAnimatedMesh *mesh = m_client->getMesh(m_prop.mesh, m_enable_shaders);
|
||||
if (mesh) {
|
||||
if (!checkMeshNormals(mesh)) {
|
||||
infostream << "GenericCAO: recalculating normals for mesh "
|
||||
@@ -917,6 +918,9 @@ void GenericCAO::setNodeLight(const video::SColor &light_color)
|
||||
return;
|
||||
setColorParam(node, light_color);
|
||||
} else {
|
||||
// TODO refactor vertex colors to be separate from the other vertex attributes
|
||||
// instead of mutating meshes / buffers for everyone via setMeshColor.
|
||||
// (Note: There are a couple more places here where setMeshColor is used.)
|
||||
if (m_meshnode) {
|
||||
setMeshColor(m_meshnode->getMesh(), light_color);
|
||||
} else if (m_animated_meshnode) {
|
||||
|
||||
@@ -70,14 +70,6 @@ inline v3f truncate(const v3f vec, const f32 factor)
|
||||
);
|
||||
}
|
||||
|
||||
inline v3f rangelimv(const v3f vec, const f32 low, const f32 high)
|
||||
{
|
||||
return v3f(
|
||||
rangelim(vec.X, low, high),
|
||||
rangelim(vec.Y, low, high),
|
||||
rangelim(vec.Z, low, high)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Helper function:
|
||||
@@ -341,10 +333,6 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
||||
|
||||
collisionMoveResult result;
|
||||
|
||||
// Assume no collisions when no velocity and no acceleration
|
||||
if (*speed_f == v3f() && accel_f == v3f())
|
||||
return result;
|
||||
|
||||
/*
|
||||
Calculate new velocity
|
||||
*/
|
||||
@@ -359,19 +347,30 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
||||
time_notification_done = false;
|
||||
}
|
||||
|
||||
// Average speed
|
||||
v3f aspeed_f = *speed_f + accel_f * 0.5f * dtime;
|
||||
// Limit speed for avoiding hangs
|
||||
aspeed_f = truncate(rangelimv(aspeed_f, -5000.0f, 5000.0f), 10000.0f);
|
||||
v3f dpos_f = (*speed_f + accel_f * 0.5f * dtime) * dtime;
|
||||
v3f newpos_f = *pos_f + dpos_f;
|
||||
*speed_f += accel_f * dtime;
|
||||
|
||||
// Collect node boxes in movement range
|
||||
// If the object is static, there are no collisions
|
||||
if (dpos_f == v3f())
|
||||
return result;
|
||||
|
||||
// Limit speed for avoiding hangs
|
||||
speed_f->Y = rangelim(speed_f->Y, -5000, 5000);
|
||||
speed_f->X = rangelim(speed_f->X, -5000, 5000);
|
||||
speed_f->Z = rangelim(speed_f->Z, -5000, 5000);
|
||||
|
||||
*speed_f = truncate(*speed_f, 10000.0f);
|
||||
|
||||
/*
|
||||
Collect node boxes in movement range
|
||||
*/
|
||||
|
||||
// cached allocation
|
||||
thread_local std::vector<NearbyCollisionInfo> cinfo;
|
||||
cinfo.clear();
|
||||
|
||||
{
|
||||
// Movement if no collisions
|
||||
v3f newpos_f = *pos_f + aspeed_f * dtime;
|
||||
v3f minpos_f(
|
||||
MYMIN(pos_f->X, newpos_f.X),
|
||||
MYMIN(pos_f->Y, newpos_f.Y) + 0.01f * BS, // bias rounding, player often at +/-n.5
|
||||
@@ -397,16 +396,26 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
||||
}
|
||||
}
|
||||
|
||||
// Collect object boxes in movement range
|
||||
/*
|
||||
Collect object boxes in movement range
|
||||
*/
|
||||
if (collide_with_objects) {
|
||||
add_object_boxes(env, box_0, dtime, *pos_f, aspeed_f, self, cinfo);
|
||||
}
|
||||
add_object_boxes(env, box_0, dtime, *pos_f, *speed_f, self, cinfo);
|
||||
}
|
||||
|
||||
/*
|
||||
Collision detection
|
||||
*/
|
||||
|
||||
// Collision detection
|
||||
f32 d = 0.0f;
|
||||
for (int loopcount = 0;; loopcount++) {
|
||||
|
||||
int loopcount = 0;
|
||||
|
||||
while(dtime > BS * 1e-10f) {
|
||||
// Avoid infinite loop
|
||||
loopcount++;
|
||||
if (loopcount >= 100) {
|
||||
warningstream << "collisionMoveSimple: Loop count exceeded, aborting to avoid infinite loop" << std::endl;
|
||||
warningstream << "collisionMoveSimple: Loop count exceeded, aborting to avoid infiniite loop" << std::endl;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -418,7 +427,9 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
||||
f32 nearest_dtime = dtime;
|
||||
int nearest_boxindex = -1;
|
||||
|
||||
// Go through every nodebox, find nearest collision
|
||||
/*
|
||||
Go through every nodebox, find nearest collision
|
||||
*/
|
||||
for (u32 boxindex = 0; boxindex < cinfo.size(); boxindex++) {
|
||||
const NearbyCollisionInfo &box_info = cinfo[boxindex];
|
||||
// Ignore if already stepped up this nodebox.
|
||||
@@ -428,7 +439,8 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
||||
// Find nearest collision of the two boxes (raytracing-like)
|
||||
f32 dtime_tmp = nearest_dtime;
|
||||
CollisionAxis collided = axisAlignedCollision(box_info.box,
|
||||
movingbox, aspeed_f, &dtime_tmp);
|
||||
movingbox, *speed_f, &dtime_tmp);
|
||||
|
||||
if (collided == -1 || dtime_tmp >= nearest_dtime)
|
||||
continue;
|
||||
|
||||
@@ -439,127 +451,96 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
||||
|
||||
if (nearest_collided == COLLISION_AXIS_NONE) {
|
||||
// No collision with any collision box.
|
||||
*pos_f += truncate(aspeed_f * dtime, 100.0f);
|
||||
// Final speed:
|
||||
*speed_f += accel_f * dtime;
|
||||
// Limit speed for avoiding hangs
|
||||
*speed_f = truncate(rangelimv(*speed_f, -5000.0f, 5000.0f), 10000.0f);
|
||||
break;
|
||||
}
|
||||
// Otherwise, a collision occurred.
|
||||
NearbyCollisionInfo &nearest_info = cinfo[nearest_boxindex];
|
||||
const aabb3f& cbox = nearest_info.box;
|
||||
*pos_f += truncate(*speed_f * dtime, 100.0f);
|
||||
dtime = 0; // Set to 0 to avoid "infinite" loop due to small FP numbers
|
||||
} else {
|
||||
// Otherwise, a collision occurred.
|
||||
NearbyCollisionInfo &nearest_info = cinfo[nearest_boxindex];
|
||||
const aabb3f& cbox = nearest_info.box;
|
||||
|
||||
//movingbox except moved to the horizontal position it would be after step up
|
||||
bool step_up = false;
|
||||
if (nearest_collided != COLLISION_AXIS_Y) {
|
||||
//movingbox except moved to the horizontal position it would be after step up
|
||||
aabb3f stepbox = movingbox;
|
||||
// Look slightly ahead for checking the height when stepping
|
||||
// to ensure we also check above the node we collided with
|
||||
// otherwise, might allow glitches such as a stack of stairs
|
||||
float extra_dtime = nearest_dtime + 0.1f * fabsf(dtime - nearest_dtime);
|
||||
stepbox.MinEdge.X += aspeed_f.X * extra_dtime;
|
||||
stepbox.MinEdge.Z += aspeed_f.Z * extra_dtime;
|
||||
stepbox.MaxEdge.X += aspeed_f.X * extra_dtime;
|
||||
stepbox.MaxEdge.Z += aspeed_f.Z * extra_dtime;
|
||||
stepbox.MinEdge.X += speed_f->X * dtime;
|
||||
stepbox.MinEdge.Z += speed_f->Z * dtime;
|
||||
stepbox.MaxEdge.X += speed_f->X * dtime;
|
||||
stepbox.MaxEdge.Z += speed_f->Z * dtime;
|
||||
// Check for stairs.
|
||||
step_up = (movingbox.MinEdge.Y < cbox.MaxEdge.Y) &&
|
||||
(movingbox.MinEdge.Y + stepheight > cbox.MaxEdge.Y) &&
|
||||
(!wouldCollideWithCeiling(cinfo, stepbox,
|
||||
cbox.MaxEdge.Y - movingbox.MinEdge.Y,
|
||||
d));
|
||||
}
|
||||
bool step_up = (nearest_collided != COLLISION_AXIS_Y) && // must not be Y direction
|
||||
(movingbox.MinEdge.Y < cbox.MaxEdge.Y) &&
|
||||
(movingbox.MinEdge.Y + stepheight > cbox.MaxEdge.Y) &&
|
||||
(!wouldCollideWithCeiling(cinfo, stepbox,
|
||||
cbox.MaxEdge.Y - movingbox.MinEdge.Y,
|
||||
d));
|
||||
|
||||
// Get bounce multiplier
|
||||
float bounce = -(float)nearest_info.bouncy / 100.0f;
|
||||
// Get bounce multiplier
|
||||
float bounce = -(float)nearest_info.bouncy / 100.0f;
|
||||
|
||||
// Move to the point of collision and reduce dtime by nearest_dtime
|
||||
if (nearest_dtime < 0) {
|
||||
// Handle negative nearest_dtime
|
||||
// This largely means an "instant" collision, e.g., with the floor.
|
||||
// We use aspeed and nearest_dtime to be consistent with above and resolve this collision
|
||||
if (!step_up) {
|
||||
if (nearest_collided == COLLISION_AXIS_X)
|
||||
pos_f->X += aspeed_f.X * nearest_dtime;
|
||||
if (nearest_collided == COLLISION_AXIS_Y)
|
||||
pos_f->Y += aspeed_f.Y * nearest_dtime;
|
||||
if (nearest_collided == COLLISION_AXIS_Z)
|
||||
pos_f->Z += aspeed_f.Z * nearest_dtime;
|
||||
}
|
||||
} else if (nearest_dtime > 0) {
|
||||
// updated average speed for the sub-interval up to nearest_dtime
|
||||
aspeed_f = *speed_f + accel_f * 0.5f * nearest_dtime;
|
||||
*pos_f += truncate(aspeed_f * nearest_dtime, 100.0f);
|
||||
// Speed at (approximated) collision:
|
||||
*speed_f += accel_f * nearest_dtime;
|
||||
// Limit speed for avoiding hangs
|
||||
*speed_f = truncate(rangelimv(*speed_f, -5000.0f, 5000.0f), 10000.0f);
|
||||
dtime -= nearest_dtime;
|
||||
}
|
||||
|
||||
bool is_collision = true;
|
||||
if (nearest_info.is_unloaded)
|
||||
is_collision = false;
|
||||
|
||||
CollisionInfo info;
|
||||
if (nearest_info.isObject())
|
||||
info.type = COLLISION_OBJECT;
|
||||
else
|
||||
info.type = COLLISION_NODE;
|
||||
|
||||
info.node_p = nearest_info.position;
|
||||
info.object = nearest_info.obj;
|
||||
info.new_pos = *pos_f;
|
||||
info.old_speed = *speed_f;
|
||||
info.plane = nearest_collided;
|
||||
|
||||
// Set the speed component that caused the collision to zero
|
||||
if (step_up) {
|
||||
// Special case: Handle stairs
|
||||
nearest_info.is_step_up = true;
|
||||
is_collision = false;
|
||||
} else if (nearest_collided == COLLISION_AXIS_X) {
|
||||
if (bounce < -1e-4 && fabsf(speed_f->X) > BS * 3) {
|
||||
speed_f->X *= bounce;
|
||||
// Move to the point of collision and reduce dtime by nearest_dtime
|
||||
if (nearest_dtime < 0) {
|
||||
// Handle negative nearest_dtime
|
||||
if (!step_up) {
|
||||
if (nearest_collided == COLLISION_AXIS_X)
|
||||
pos_f->X += speed_f->X * nearest_dtime;
|
||||
if (nearest_collided == COLLISION_AXIS_Y)
|
||||
pos_f->Y += speed_f->Y * nearest_dtime;
|
||||
if (nearest_collided == COLLISION_AXIS_Z)
|
||||
pos_f->Z += speed_f->Z * nearest_dtime;
|
||||
}
|
||||
} else {
|
||||
speed_f->X = 0;
|
||||
accel_f.X = 0;
|
||||
*pos_f += truncate(*speed_f * nearest_dtime, 100.0f);
|
||||
dtime -= nearest_dtime;
|
||||
}
|
||||
result.collides = true;
|
||||
} else if (nearest_collided == COLLISION_AXIS_Y) {
|
||||
if(bounce < -1e-4 && fabsf(speed_f->Y) > BS * 3) {
|
||||
speed_f->Y *= bounce;
|
||||
} else {
|
||||
speed_f->Y = 0;
|
||||
accel_f.Y = 0;
|
||||
|
||||
bool is_collision = true;
|
||||
if (nearest_info.is_unloaded)
|
||||
is_collision = false;
|
||||
|
||||
CollisionInfo info;
|
||||
if (nearest_info.isObject())
|
||||
info.type = COLLISION_OBJECT;
|
||||
else
|
||||
info.type = COLLISION_NODE;
|
||||
|
||||
info.node_p = nearest_info.position;
|
||||
info.object = nearest_info.obj;
|
||||
info.new_pos = *pos_f;
|
||||
info.old_speed = *speed_f;
|
||||
info.plane = nearest_collided;
|
||||
|
||||
// Set the speed component that caused the collision to zero
|
||||
if (step_up) {
|
||||
// Special case: Handle stairs
|
||||
nearest_info.is_step_up = true;
|
||||
is_collision = false;
|
||||
} else if (nearest_collided == COLLISION_AXIS_X) {
|
||||
if (fabs(speed_f->X) > BS * 3)
|
||||
speed_f->X *= bounce;
|
||||
else
|
||||
speed_f->X = 0;
|
||||
result.collides = true;
|
||||
} else if (nearest_collided == COLLISION_AXIS_Y) {
|
||||
if(fabs(speed_f->Y) > BS * 3)
|
||||
speed_f->Y *= bounce;
|
||||
else
|
||||
speed_f->Y = 0;
|
||||
result.collides = true;
|
||||
} else if (nearest_collided == COLLISION_AXIS_Z) {
|
||||
if (fabs(speed_f->Z) > BS * 3)
|
||||
speed_f->Z *= bounce;
|
||||
else
|
||||
speed_f->Z = 0;
|
||||
result.collides = true;
|
||||
}
|
||||
result.collides = true;
|
||||
} else if (nearest_collided == COLLISION_AXIS_Z) {
|
||||
if (bounce < -1e-4 && fabsf(speed_f->Z) > BS * 3) {
|
||||
speed_f->Z *= bounce;
|
||||
} else {
|
||||
speed_f->Z = 0;
|
||||
accel_f.Z = 0;
|
||||
|
||||
info.new_speed = *speed_f;
|
||||
if (info.new_speed.getDistanceFrom(info.old_speed) < 0.1f * BS)
|
||||
is_collision = false;
|
||||
|
||||
if (is_collision) {
|
||||
info.axis = nearest_collided;
|
||||
result.collisions.push_back(std::move(info));
|
||||
}
|
||||
result.collides = true;
|
||||
}
|
||||
|
||||
info.new_speed = *speed_f;
|
||||
if (info.new_speed.getDistanceFrom(info.old_speed) < 0.1f * BS)
|
||||
is_collision = false;
|
||||
|
||||
if (is_collision) {
|
||||
info.axis = nearest_collided;
|
||||
result.collisions.push_back(info);
|
||||
}
|
||||
|
||||
if (dtime < BS * 1e-10f)
|
||||
break;
|
||||
|
||||
// Speed for finding the next collision
|
||||
aspeed_f = *speed_f + accel_f * 0.5f * dtime;
|
||||
// Limit speed for avoiding hangs
|
||||
aspeed_f = truncate(rangelimv(aspeed_f, -5000.0f, 5000.0f), 10000.0f);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -78,7 +78,7 @@ void set_default_settings()
|
||||
settings->setDefault("language", "");
|
||||
settings->setDefault("name", "");
|
||||
settings->setDefault("bind_address", "");
|
||||
settings->setDefault("serverlist_url", "servers.minetest.net");
|
||||
settings->setDefault("serverlist_url", "servers.luanti.org");
|
||||
|
||||
// Client
|
||||
settings->setDefault("address", "");
|
||||
@@ -397,7 +397,7 @@ void set_default_settings()
|
||||
settings->setDefault("chat_font_size", "0"); // Default "font_size"
|
||||
|
||||
// ContentDB
|
||||
settings->setDefault("contentdb_url", "https://content.minetest.net");
|
||||
settings->setDefault("contentdb_url", "https://content.luanti.org");
|
||||
settings->setDefault("contentdb_enable_updates_indicator", "true");
|
||||
settings->setDefault("contentdb_max_concurrent_downloads", "3");
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
#include <IVideoDriver.h>
|
||||
#include "IAttributes.h"
|
||||
#include "porting.h"
|
||||
#include "client/mesh.h"
|
||||
#include "settings.h"
|
||||
|
||||
GUIScene::GUIScene(gui::IGUIEnvironment *env, scene::ISceneManager *smgr,
|
||||
gui::IGUIElement *parent, core::recti rect, s32 id)
|
||||
@@ -96,6 +98,11 @@ void GUIScene::draw()
|
||||
if (m_inf_rot)
|
||||
rotateCamera(v3f(0.f, -0.03f * (float)dtime_ms, 0.f));
|
||||
|
||||
// HACK restore mesh vertex colors to full brightness:
|
||||
// They may have been mutated in entity rendering code before.
|
||||
if (!g_settings->getBool("enable_shaders"))
|
||||
setMeshColor(m_mesh->getMesh(), irr::video::SColor(0xFFFFFFFF));
|
||||
|
||||
m_smgr->drawAll();
|
||||
|
||||
if (m_initial_rotation && m_mesh) {
|
||||
|
||||
@@ -1015,10 +1015,12 @@ static bool determine_subgame(GameParams *game_params)
|
||||
infostream << "Using commanded gameid [" << gamespec.id << "]" << std::endl;
|
||||
} else {
|
||||
if (game_params->is_dedicated_server) {
|
||||
std::string contentdb_url = g_settings->get("contentdb_url");
|
||||
|
||||
// If this is a dedicated server and no gamespec has been specified,
|
||||
// print a friendly error pointing to ContentDB.
|
||||
errorstream << "To run a " PROJECT_NAME_C " server, you need to select a game using the '--gameid' argument." << std::endl
|
||||
<< "Check out https://content.minetest.net for a selection of games to pick from and download." << std::endl;
|
||||
<< "Check out " << contentdb_url << " for a selection of games to pick from and download." << std::endl;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@@ -5,7 +5,7 @@ Copyright (C) 2016-2019 Duane Robertson <duane@duanerobertson.com>
|
||||
Copyright (C) 2016-2019 paramat
|
||||
|
||||
Based on Valleys Mapgen by Gael de Sailly
|
||||
(https://forum.minetest.net/viewtopic.php?f=9&t=11430)
|
||||
(https://forum.luanti.org/viewtopic.php?f=9&t=11430)
|
||||
and mapgen_v7, mapgen_flat by kwolekr and paramat.
|
||||
|
||||
Licensing changed by permission of Gael de Sailly.
|
||||
|
||||
@@ -5,7 +5,7 @@ Copyright (C) 2016-2019 Duane Robertson <duane@duanerobertson.com>
|
||||
Copyright (C) 2016-2019 paramat
|
||||
|
||||
Based on Valleys Mapgen by Gael de Sailly
|
||||
(https://forum.minetest.net/viewtopic.php?f=9&t=11430)
|
||||
(https://forum.luanti.org/viewtopic.php?f=9&t=11430)
|
||||
and mapgen_v7, mapgen_flat by kwolekr and paramat.
|
||||
|
||||
Licensing changed by permission of Gael de Sailly.
|
||||
|
||||
@@ -932,7 +932,7 @@ double perf_freq = get_perf_freq();
|
||||
* This appears to be a combination of unfortunate allocation order/fragmentation
|
||||
* and the fact that glibc does not call madvise(MADV_DONTNEED) on its own.
|
||||
* Some other allocators were also affected, jemalloc and musl libc were not.
|
||||
* read more: <https://forum.minetest.net/viewtopic.php?t=30509>
|
||||
* read more: <https://forum.luanti.org/viewtopic.php?t=30509>
|
||||
*
|
||||
* As a workaround we track freed memory coarsely and call malloc_trim() once a
|
||||
* certain amount is reached.
|
||||
|
||||
@@ -2048,9 +2048,6 @@ bool read_tree_def(lua_State *L, int idx, const NodeDefManager *ndef,
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
#if defined(JSONCPP_STRING) || !(JSONCPP_VERSION_MAJOR < 1 || JSONCPP_VERSION_MINOR < 9)
|
||||
#define HAVE_JSON_STRING
|
||||
#endif
|
||||
|
||||
// Returns depth of json value tree
|
||||
static int push_json_value_getdepth(const Json::Value &value)
|
||||
@@ -2079,13 +2076,8 @@ static bool push_json_value_helper(lua_State *L, const Json::Value &value,
|
||||
lua_pushnumber(L, value.asDouble());
|
||||
break;
|
||||
case Json::stringValue: {
|
||||
#ifdef HAVE_JSON_STRING
|
||||
const auto &str = value.asString();
|
||||
lua_pushlstring(L, str.c_str(), str.size());
|
||||
#else
|
||||
const char *str = value.asCString();
|
||||
lua_pushstring(L, str ? str : "");
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
case Json::booleanValue:
|
||||
@@ -2101,7 +2093,7 @@ static bool push_json_value_helper(lua_State *L, const Json::Value &value,
|
||||
case Json::objectValue:
|
||||
lua_createtable(L, 0, value.size());
|
||||
for (auto it = value.begin(); it != value.end(); ++it) {
|
||||
#ifdef HAVE_JSON_STRING
|
||||
#if JSONCPP_VERSION_HEXA >= 0x01060000 /* 1.6.0 */
|
||||
const auto &str = it.name();
|
||||
lua_pushlstring(L, str.c_str(), str.size());
|
||||
#else
|
||||
|
||||
@@ -555,7 +555,7 @@ bool ScriptApiSecurity::checkPath(lua_State *L, const char *path,
|
||||
// by the operating system anyways.
|
||||
return false;
|
||||
}
|
||||
removed.append(component).append(removed.empty() ? "" : DIR_DELIM + removed);
|
||||
removed = component + (removed.empty() ? "" : DIR_DELIM + removed);
|
||||
abs_path = fs::AbsolutePath(cur_path);
|
||||
}
|
||||
if (abs_path.empty())
|
||||
|
||||
@@ -572,12 +572,11 @@ void Server::start()
|
||||
|
||||
// ASCII art for the win!
|
||||
const char *art[] = {
|
||||
R"(.__ __ .__ )",
|
||||
R"(| | __ _______ _____/ |_|__|)",
|
||||
R"(| | | | \__ \ / \ __\ |)",
|
||||
R"(| |_| | // __ \| | \ | | |)",
|
||||
R"(|____/____/(____ /___| /__| |__|)",
|
||||
R"( \/ \/ )",
|
||||
R"( _ _ _ )",
|
||||
R"(| |_ _ __ _ _ __ | |_(_))",
|
||||
R"(| | | | |/ _` | '_ \| __| |)",
|
||||
R"(| | |_| | (_| | | | | |_| |)",
|
||||
R"(|_|\__,_|\__,_|_| |_|\__|_|)",
|
||||
};
|
||||
|
||||
if (!m_admin_chat) {
|
||||
|
||||
24
util/ci/build_xcode.sh
Executable file
24
util/ci/build_xcode.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
cmake .. \
|
||||
-DCMAKE_FIND_FRAMEWORK=LAST \
|
||||
-DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE \
|
||||
-DFREETYPE_LIBRARY=/opt/homebrew/lib/libfreetype.a \
|
||||
-DGETTEXT_INCLUDE_DIR=/path/to/include/dir \
|
||||
-DGETTEXT_LIBRARY=/opt/homebrew/lib/libintl.a \
|
||||
-DLUA_LIBRARY=/opt/homebrew/lib/libluajit-5.1.a \
|
||||
-DOGG_LIBRARY=/opt/homebrew/lib/libogg.a \
|
||||
-DVORBIS_LIBRARY=/opt/homebrew/lib/libvorbis.a \
|
||||
-DVORBISFILE_LIBRARY=/opt/homebrew/lib/libvorbisfile.a \
|
||||
-DZSTD_LIBRARY=/opt/homebrew/lib/libzstd.a \
|
||||
-DGMP_LIBRARY=/opt/homebrew/lib/libgmp.a \
|
||||
-DENABLE_SYSTEM_JSONCPP=OFF \
|
||||
-DENABLE_LEVELDB=OFF \
|
||||
-DENABLE_POSTGRESQL=OFF \
|
||||
-DENABLE_REDIS=OFF \
|
||||
-DJPEG_LIBRARY=/opt/homebrew/lib/libjpeg.a \
|
||||
-DPNG_LIBRARY=/opt/homebrew/lib/libpng.a \
|
||||
-DCMAKE_EXE_LINKER_FLAGS=-lbz2\
|
||||
-GXcode
|
||||
xcodebuild -project luanti.xcodeproj -scheme luanti -configuration Release build
|
||||
xcodebuild -project luanti.xcodeproj -scheme luanti -archivePath ./luanti.xcarchive archive
|
||||
@@ -6,7 +6,7 @@ from collections import defaultdict
|
||||
codefiles = r"(\.[ch](pp)?|\.lua|\.md|\.cmake|\.java|\.gradle|Makefile|CMakeLists\.txt)$"
|
||||
|
||||
# two minor versions back, for "Active Contributors"
|
||||
REVS_ACTIVE = "5.7.0..HEAD"
|
||||
REVS_ACTIVE = "5.8.0..HEAD"
|
||||
# all time, for "Previous Contributors"
|
||||
REVS_PREVIOUS = "HEAD"
|
||||
|
||||
|
||||
3
util/xcode/capture_env.sh
Normal file
3
util/xcode/capture_env.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
env > $1
|
||||
63
util/xcode/install_resources.cmake
Normal file
63
util/xcode/install_resources.cmake
Normal file
@@ -0,0 +1,63 @@
|
||||
|
||||
# This is only one working solution I found to be working for normal and Archive builds under Xcode 15.4
|
||||
# I expect higger sensitivity to Xcode version.
|
||||
|
||||
if(DEFINED ENV{INSTALL_ROOT} AND EXISTS "$ENV{INSTALL_ROOT}")
|
||||
set(RESOURCES_DIR "$ENV{INSTALL_ROOT}/Applications/$ENV{PRODUCT_NAME}.app/Contents/Resources")
|
||||
else()
|
||||
set(RESOURCES_DIR "$ENV{TARGET_BUILD_DIR}/$ENV{UNLOCALIZED_RESOURCES_FOLDER_PATH}")
|
||||
endif()
|
||||
|
||||
# Write debug information to a file
|
||||
#file(WRITE "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "INSTALL_ROOT: $ENV{INSTALL_ROOT}\n")
|
||||
#file(APPEND "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "RESOURCES_DIR: ${RESOURCES_DIR}\n")
|
||||
#file(APPEND "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "TARGET_BUILD_DIR: $ENV{TARGET_BUILD_DIR}\n")
|
||||
#file(APPEND "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "BUILT_PRODUCTS_DIR: $ENV{BUILT_PRODUCTS_DIR}\n")
|
||||
#file(APPEND "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "SOURCE_ROOT: $ENV{SOURCE_ROOT}\n")
|
||||
#file(APPEND "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "PRODUCT_NAME: $ENV{PRODUCT_NAME}\n")
|
||||
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"$ENV{SOURCE_ROOT}/builtin"
|
||||
"${RESOURCES_DIR}/builtin"
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"$ENV{SOURCE_ROOT}/client/shaders"
|
||||
"${RESOURCES_DIR}/client/shaders"
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"$ENV{SOURCE_ROOT}/fonts"
|
||||
"${RESOURCES_DIR}/fonts"
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"$ENV{PROJECT_FILE_PATH}/../locale"
|
||||
"${RESOURCES_DIR}/locale"
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory
|
||||
"${RESOURCES_DIR}/$ENV{PRODUCT_NAME}"
|
||||
)
|
||||
set(RESOURCE_LUANTI_FILES
|
||||
"$ENV{SOURCE_ROOT}/README.md"
|
||||
"$ENV{SOURCE_ROOT}/doc/client_lua_api.md"
|
||||
"$ENV{SOURCE_ROOT}/doc/lua_api.md"
|
||||
"$ENV{SOURCE_ROOT}/doc/menu_lua_api.md"
|
||||
"$ENV{SOURCE_ROOT}/minetest.conf.example"
|
||||
"$ENV{SOURCE_ROOT}/doc/texture_packs.md"
|
||||
"$ENV{SOURCE_ROOT}/doc/world_format.md"
|
||||
)
|
||||
foreach (file ${RESOURCE_LUANTI_FILES})
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
"${file}"
|
||||
"${RESOURCES_DIR}/$ENV{PRODUCT_NAME}/"
|
||||
)
|
||||
endforeach()
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"$ENV{SOURCE_ROOT}/textures/base/pack"
|
||||
"${RESOURCES_DIR}/textures/base/pack"
|
||||
)
|
||||
Reference in New Issue
Block a user