Compare commits

...

26 Commits

Author SHA1 Message Date
SmallJoker
6d1a208018 Bump version to 5.14.0 2025-10-05 17:32:14 +02:00
StoyanDimitrov
d500241e3d Update builtin Bulgarian translation 2025-10-05 17:32:17 +02:00
sfan5
61f3812f73 Fix incorrect MapgenV6 chunk size warning 2025-10-05 17:11:04 +02:00
y5nw
f2be1c39c8 SDL: Remove SDL_syswm.h include 2025-10-05 14:44:14 +02:00
y5nw
244dc7ac06 shell.nix: add gmp and luajit 2025-10-05 14:44:14 +02:00
maxchen32
3a0152c491 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.5% (1442 of 1463 strings)
2025-10-04 21:55:05 +02:00
Tarás Lavrentiev
52e36b06e6 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1463 of 1463 strings)
2025-10-04 21:35:52 +02:00
Karol1165
f1f1fce2db Translated using Weblate (Polish)
Currently translated at 88.0% (1288 of 1463 strings)
2025-10-04 21:35:52 +02:00
Тарас Арт
4aae915e4f Translated using Weblate (Ukrainian)
Currently translated at 98.9% (1448 of 1463 strings)
2025-10-04 21:35:52 +02:00
Neil Rizen
814eb21def Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1463 of 1463 strings)
2025-10-04 21:35:52 +02:00
y5nw
b5eb11c0ae Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.5% (1442 of 1463 strings)
2025-10-04 21:35:52 +02:00
dvchd
72b14910da Translated using Weblate (Vietnamese)
Currently translated at 42.5% (623 of 1463 strings)
2025-10-04 21:35:52 +02:00
Neil Rizen
bca99fc723 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1463 of 1463 strings)
2025-10-04 21:35:52 +02:00
Ludus
b6fe5fee43 Translated using Weblate (Italian)
Currently translated at 87.2% (1276 of 1463 strings)
2025-10-04 21:35:52 +02:00
Wuzzy
23e208c7aa Translated using Weblate (German)
Currently translated at 100.0% (1463 of 1463 strings)
2025-10-04 21:35:52 +02:00
109247019824
8b3e80f534 Translated using Weblate (Bulgarian)
Currently translated at 90.8% (1329 of 1463 strings)
2025-10-04 21:35:52 +02:00
SmallJoker
4f77a91e04 IrrlichtMt: Fix Win32 device compile error (non-SDL)
This issue was caused by one of the recent header refactoring commits.
2025-10-04 12:57:14 +02:00
SmallJoker
c2a4d5f82d Update credits for 5.14.0 (#16531) 2025-10-03 13:20:14 +02:00
Lars Müller
4238aa423b Fix a memory leak: Use irr_ptr for bones (#16530) 2025-10-01 12:53:01 +02:00
DS
ae35167a5e Fix debug.getinfo not being unset in CPCSM (#16506)
regression was introduced in eeb6cab
2025-10-01 12:52:48 +02:00
SmallJoker
499f2284bd Server: Fix Server::Send exception caused by leaving players
Leaving players will have PEER_ID_INVALID for database saving purposes.
This patch clarifies that, and properly protects the batch send function.

Bug introduced by 5f5ea132.
2025-09-29 19:23:43 +02:00
Wuzzy
274d8a7c65 Update builtin locale (#16512)
* Update builtin locale files

* Update German builtin translation
2025-09-29 13:25:42 +02:00
sfan5
8f98b4f243 Android: Update to SDK 35 (#16513) 2025-09-29 13:25:23 +02:00
fetsorn
e3ec044ed0 Update comments referring to obsolete TOCLIENT_INIT (#16522) 2025-09-29 13:21:52 +02:00
SmallJoker
dd3530dc79 Mapgen: Correct border block criteria (#16524)
This addresses a regression from e86d2fea8.

Co-authored-by: Po Lu <luangruo@yahoo.com>
2025-09-29 13:21:30 +02:00
SmallJoker
421835a30e Formspec: Fix missing CHG:n fields (regression)
The GUIScrollBar type was changed in commit 39f2727503.
This commit updates a corresponding check in guiFormSpecMenu accordingly.
2025-09-24 18:37:31 +02:00
46 changed files with 863 additions and 467 deletions

View File

@@ -41,7 +41,7 @@ stds.menu_common = {
},
}
files["builtin/client/register.lua"] = {
files["builtin/client/init.lua"] = {
globals = {
debug = {fields={"getinfo"}},
}

View File

@@ -19,7 +19,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)

View File

@@ -6,7 +6,7 @@ android {
applicationId 'net.minetest.minetest'
minSdkVersion 21
compileSdk 34
targetSdkVersion 34
targetSdkVersion 35
versionName "${versionMajor}.${versionMinor}.${versionPatch}"
versionCode versionMajor * 1000000 + versionMinor * 10000 + versionPatch * 100 + versionBuild
}

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="label">Luanti</string>
<string name="loading">Carregando…</string>
<string name="notification_channel_name">Notificação geral</string>
<string name="notification_channel_description">Notificações do Luanti</string>
<string name="unzip_notification_title">Carregando Luanti</string>
<string name="unzip_notification_description">Menos de 1 minuto…</string>
<string name="game_notification_title">O Luanti está em execução</string>
<string name="ime_dialog_done">Concluído</string>
<string name="no_web_browser">Nenhum navegador encontrado</string>
</resources>

View File

@@ -15,8 +15,8 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.5.1'
classpath 'de.undercouch:gradle-download-task:4.1.1'
classpath 'com.android.tools.build:gradle:8.12.3'
classpath 'de.undercouch:gradle-download-task:5.6.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -30,5 +30,5 @@ allprojects {
}
task clean(type: Delete) {
delete rootProject.buildDir
delete rootProject.layout.buildDirectory
}

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME

View File

@@ -68,5 +68,5 @@ if (new File(depsDir, 'armeabi-v7a').exists()) {
preBuild.dependsOn getDeps
clean {
delete new File(buildDir.parent, 'deps')
delete depsDir
}

View File

@@ -13,3 +13,6 @@ dofile(commonpath .. "information_formspecs.lua")
dofile(clientpath .. "chatcommands.lua")
dofile(clientpath .. "misc.lua")
assert(loadfile(commonpath .. "item_s.lua"))({}) -- Just for push/read node functions
-- unset, as promised in initializeSecurityClient()
debug.getinfo = nil

View File

@@ -1,4 +1,5 @@
local builtin_shared = ...
local debug_getinfo = debug.getinfo
do
local default = {mod = "??", name = "??"}
@@ -56,7 +57,7 @@ function builtin_shared.make_registration()
core.callback_origins[func] = {
-- may be nil or return nil
mod = core.get_current_modname and core.get_current_modname() or "??",
name = debug.getinfo(1, "n").name or "??"
name = debug_getinfo(1, "n").name or "??"
}
end
return t, registerfunc
@@ -69,7 +70,7 @@ function builtin_shared.make_registration_reverse()
core.callback_origins[func] = {
-- may be nil or return nil
mod = core.get_current_modname and core.get_current_modname() or "??",
name = debug.getinfo(1, "n").name or "??"
name = debug_getinfo(1, "n").name or "??"
}
end
return t, registerfunc

View File

@@ -1,4 +1,4 @@
local getinfo, rawget, rawset = debug.getinfo, rawget, rawset
local debug_getinfo, rawget, rawset = debug.getinfo, rawget, rawset
function core.global_exists(name)
if type(name) ~= "string" then
@@ -18,7 +18,7 @@ function meta:__newindex(name, value)
if declared[name] then
return
end
local info = getinfo(2, "Sl")
local info = debug_getinfo(2, "Sl")
if info ~= nil then
local desc = ("%s:%d"):format(info.short_src, info.currentline)
local warn_key = ("%s\0%d\0%s"):format(info.source, info.currentline, name)
@@ -36,7 +36,7 @@ function meta:__index(name)
if declared[name] then
return
end
local info = getinfo(2, "Sl")
local info = debug_getinfo(2, "Sl")
if info == nil then
return
end

View File

@@ -1,5 +1,6 @@
local builtin_shared = ...
local S = core.get_translator("__builtin")
local debug_getinfo = debug.getinfo
--
-- Make raw registration functions inaccessible to anyone except this file
@@ -548,7 +549,7 @@ function core.registered_on_player_hpchange(player, hp_change, reason)
local func = core.registered_on_player_hpchanges.modifiers[i]
hp_change, last = func(player, hp_change, reason)
if type(hp_change) ~= "number" then
local debuginfo = debug.getinfo(func)
local debuginfo = debug_getinfo(func)
error("The register_on_hp_changes function has to return a number at " ..
debuginfo.short_src .. " line " .. debuginfo.linedefined)
end
@@ -570,7 +571,7 @@ function core.register_on_player_hpchange(func, modifier)
end
core.callback_origins[func] = {
mod = core.get_current_modname() or "??",
name = debug.getinfo(1, "n").name or "??"
name = debug_getinfo(1, "n").name or "??"
}
end

View File

@@ -1,3 +1,246 @@
# textdomain: __builtin
Empty command.=Празна команда.
Invalid command: @1=Неприемлива команда: @1
Invalid command usage.=Неприемлива употреба на команда.
(@1 s)= (@1 сек)
Command execution took @1 s=Изпълнението на командата отне @1сек.
You don't have permission to run this command (missing privileges: @1).=Нямате права да изпълните тази команда (липсващи права: @1).
Unable to get position of player @1.=Неуспешно получаване на позицията на играч @1.
Incorrect area format. Expected: (x1,y1,z1) (x2,y2,z2)=Неправилен формат на област. Очаква се: (x1,y1,z1) (x2,y2,z2)
<action>=<действие>
Show chat action (e.g., '/me orders a pizza' displays '<player name> orders a pizza')=Показва действие в разговорите (напр. „/me поръчва пица“ показва „<име на играч> поръчва пица“)
Show the name of the server owner=Показва името на собственика на сървъра
The administrator of this server is @1.=Администраторът на този сървър е @1.
There's no administrator named in the config file.=Във файла с настройки не е зададен администратор.
@1 does not have any privileges.=@1 няма никакви права.
Privileges of @1: @2=Правата на @1: @2
[<name>]=[<име>]
Show privileges of yourself or another player=Показва вашите права или тези на друг играч
Player @1 does not exist.=Играчът @1 не съществува.
<privilege>=<права>
Return list of all online players with privilege=Показва списък на играчите на линия с дадени права
Invalid parameters (see /help haspriv).=Неприемливи параметри (вижте /help haspriv).
Unknown privilege!=Неизвестно право!
No online player has the "@1" privilege.=Няма играч на линия с правата „@1“.
Players online with the "@1" privilege: @2=Играчи на линия с правата „@1“: @2
Your privileges are insufficient.=Нямате достатъчно права.
Your privileges are insufficient. '@1' only allows you to grant: @2=Нямате достатъчно права. „@1“ ви позволява да давате само: @2
Unknown privilege: @1=Неизвестни права: @1
@1 granted you privileges: @2=@1 ви даде правото: @2
<name> (<privilege> [, <privilege2> [<...>]] | all)=<име> (<право> [, <право2> [<…>]] | all)
Give privileges to player=Дава права на играч
Invalid parameters (see /help grant).=Неприемливи параметри (вижте /help grant).
<privilege> [, <privilege2> [<...>]] | all=<право> [, <право2> [<…>]] | all
Grant privileges to yourself=Дава права на себе си
Invalid parameters (see /help grantme).=Неприемливи параметри (вижте /help grantme).
Your privileges are insufficient. '@1' only allows you to revoke: @2=Нямате достатъчно права. „@1“ ви позволява да отнемате само: @2
Note: Cannot revoke in singleplayer: @1=Забележка: Не може да отнемате права в режим един играч: @1
Note: Cannot revoke from admin: @1=Забележка: Не може да отнемате права на администратор: @1
No privileges were revoked.=Не са отнети права.
@1 revoked privileges from you: @2=@1 ви отне права: @2
Remove privileges from player=Отнема права от играч
Invalid parameters (see /help revoke).=Неприемливи параметри (вижте /help revoke).
Revoke privileges from yourself=Отнема права от себе си
Invalid parameters (see /help revokeme).=Неприемливи параметри (вижте /help revokeme).
<name> <password>=<име> <парола>
Set player's password (sent unencrypted, thus insecure)=Задава парола на играч (изпраща се нешифрована, следователно несигурно)
Name field required.=Полето за име е задължително.
Your password was cleared by @1.=Вашата парола е премахната от @1.
Password of player "@1" cleared.=Паролата на играч „@1“ е премахната.
Your password was set by @1.=Вашата парола е зададена от @1.
Password of player "@1" set.=Паролата на играча „@1“ е зададена.
<name>=<име>
Set empty password for a player=Задава празна парола на играч
Reload authentication data=Презарежда данните за удостоверяване
Done.=Готово.
Failed.=Грешка.
Remove a player's data=Премахва данните на играч
Player "@1" removed.=Играч „@1“ е премахнат.
No such player "@1" to remove.=Няма такъв играч „@1“, който да бъде премахнат.
Player "@1" is connected, cannot remove.=Играч „@1“ е свързан, не може да бъде премахнат.
Unhandled remove_player return code @1.=Неподдържан код на състояние remove_player @1.
Cannot teleport out of map bounds!=Не може да се телепортира извън границите на света!
Cannot get player with name @1.=Не може да бъде намерен играч с име @1.
Cannot teleport, @1 is attached to an object!=Не може да се телепортира, @1 е прикрепен към обект!
Teleporting @1 to @2.=Телепортиране на @1 до @2.
One does not teleport to oneself.=Не може да се телепортирате към себе си.
Cannot get teleportee with name @1.=Не може да бъде намерен телепортиран играч с име @1.
Cannot get target player with name @1.=Не може да бъде намерен целеви играч с име @1.
Teleporting @1 to @2 at @3.=Телепортиране на @1 до @2 на @3.
<X>,<Y>,<Z> | <to_name> | <name> <X>,<Y>,<Z> | <name> <to_name>=<X>,<Y>,<Z> | <до_име> | <име> <X>,<Y>,<Z> | <име> <до_име>
Teleport to position or player=Телепортира до координати или играч
You don't have permission to teleport other players (missing privilege: @1).=Нямате право да телепортирате други играчи (липсващи права: @1).
([-n] <name> <value>) | <name>=([-n] <име> <стойност>) | <име>
Set or read server configuration setting=Задава или извежда на екрата настройка на сървъра
Failed. Cannot modify secure settings. Edit the settings file manually.=Грешка! Настройките за сигурност не могат да бъдат променяни. Променете файла с настройки ръчно.
Failed. Use '/set -n <name> <value>' to create a new setting.=Грешка! Използвайте „/set -n <име> <стойност>“, за да създадете нова настройка.
@1 @= @2=@1 @= @2
<not set>=<не е зададено>
Invalid parameters (see /help set).=Неприемливи параметри (вижте /help set).
Finished emerging @1 blocks in @2ms.=Зареждането на @1 блока завърши за @2 мс.
emergeblocks update: @1/@2 blocks emerged (@3%)=обновяване на emergeblocks: @1/@2 блока заредени (@3%)
(here [<radius>]) | (<pos1> <pos2>)=(тук [<радиус>]) | (<коорд1> <коорд2>)
Load (or, if nonexistent, generate) map blocks contained in area pos1 to pos2 (<pos1> and <pos2> must be in parentheses)=Зарежда (или ако липсват, генерира) блокове от света в областта от коорд1 до коорд2 (<коорд1> и <коорд2> трябва да са в скоби)
Started emerge of area ranging from @1 to @2.=Започна зареждане на областта от @1 до @2.
Delete map blocks contained in area pos1 to pos2 (<pos1> and <pos2> must be in parentheses)=Премахва блокове от света в областта от коорд1 до коорд2 (<коорд1> и <коорд2> трябва да са в скоби)
Successfully cleared area ranging from @1 to @2.=Успешно изчистена област от @1 до @2.
Failed to clear one or more blocks in area.=Неуспешно изчистване на един или повече блока в областта.
Resets lighting in the area between pos1 and pos2 (<pos1> and <pos2> must be in parentheses)=Нулира осветлението в областта между коорд1 и коорд2 (<коорд1> и <коорд2> трябва да са в скоби)
Successfully reset light in the area ranging from @1 to @2.=Успешно нулирано осветление в област от @1 до @2.
Failed to load one or more blocks in area.=Неуспешно зареждане на един или повече блока в областта.
List mods installed on the server=Показва списък с модификациите, инсталирани на сървъра
No mods installed.=Няма инсталирани модификации.
Cannot give an empty item.=Не може да бъде даден празен предмет.
Cannot give an unknown item.=Не може да бъде даден неизвестен предмет.
Giving 'ignore' is not allowed.=Не е позволено да бъде даван „ignore“.
@1 is not a known player.=@1 не е известен играч.
@1 partially added to inventory.=@1 частично добавен в инвентара.
@1 could not be added to inventory.=@1 не може да бъде добавен в инвентара.
@1 added to inventory.=@1 добавен в инвентара.
@1 partially added to inventory of @2.=@1 частично добавен в инвентара на @2.
@1 could not be added to inventory of @2.=@1 не може да бъде добавен в инвентара на @2.
@1 added to inventory of @2.=@1 добавен в инвентара на @2.
<name> <ItemString> [<count> [<wear>]]=<име> <име-на-предмет> [<брой> [<износване>]]
Give item to player=Дава предмет на играч
Name and ItemString required.=Изисква се име и име-на-предмет.
<ItemString> [<count> [<wear>]]=<име-на-предмет> [<брой> [<износване>]]
Give item to yourself=Дава предмет на себе си
ItemString required.=Изисква се име-на-предмет.
<EntityName> [<X>,<Y>,<Z>]=<име-на-същество> [<X>,<Y>,<Z>]
Spawn entity at given (or your) position=Създава същество на дадена (или вашата) позиция
EntityName required.=Изисква се име-на-същество.
Unable to spawn entity, player is nil.=Неуспешно създаване на същество, играчът е null.
Cannot spawn an unknown entity.=Не може да бъде създадено неизвестно същество.
Invalid parameters (@1).=Неприемливи параметри (@1).
@1 spawned.=@1 е създаден.
@1 failed to spawn.=@1 не можа да бъде създаден.
Destroy item in hand=Унищожава предмета в ръката
Unable to pulverize, no player.=Неуспешно смачкване, няма играч.
Unable to pulverize, no item in hand.=Неуспешно смачкване, няма предмет в ръката.
An item was pulverized.=Предмет беше смачкан.
[<range>] [<seconds>] [<limit>]=[<обхват>] [<секунди>] [<ограничение>]
Check who last touched a node or a node near it within the time specified by <seconds>. Default: range @= 0, seconds @= 86400 @= 24h, limit @= 5. Set <seconds> to inf for no time limit=Проверява кой последно е докоснал възел или близък възел в рамките на времето, зададено от <секунди>. По подразбиране: обхват @= 0, секунди @= 86400 @= 24ч, ограничение @= 5. Задайте <секунди> на inf за без ограничение.
Rollback functions are disabled.=Функциите за отменяне на действия са изключени.
That limit is too high!=Ограничението е твърде голямо!
Checking @1 ...=Проверка @1…
Nobody has touched the specified location in @1 seconds.=Никой не е докосвал указаното място през последните @1 секунди.
@1 @2 @3 -> @4 @5 seconds ago.=@1 @2 @3 -> @4 преди @5 секунди.
Punch a node (range@=@1, seconds@=@2, limit@=@3).=Удар на възел (обхват@=@1, секунди@=@2, ограничение@=@3).
(<name> [<seconds>]) | (:<actor> [<seconds>])=(<име> [<секунди>]) | (:<променящ> [<секунди>])
Revert actions of a player. Default for <seconds> is 60. Set <seconds> to inf for no time limit=Отменя действията на играч. По подразбиране <секунди> е 60. Задайте <секунди> на inf за без ограничение.
Invalid parameters. See /help rollback and /help rollback_check.=Неприемливи параметри. Вижте /help rollback и /help rollback_check.
Reverting actions of player '@1' since @2 seconds.=Отменяне действията на играча „@1“ отпреди @2 секунди.
Reverting actions of @1 since @2 seconds.=Отменяне действията на @1 отпреди @2 секунди.
(log is too long to show)=(дневникът е твърде дълъг, за да бъде показан)
Reverting actions succeeded.=Действията са отменени.
Reverting actions FAILED.=Грешка при отменяне на действията.
Show server status=Показва състоянието на сървъра
This command was disabled by a mod or game.=Тази команда е изключена от модификация или игра.
[<0..23>:<0..59> | <0..24000>]=[<0..23>:<0..59> | <0..24000>]
Show or set time of day=Показва или задава часа на деня
Current time is @1:@2.=Текущото време е @1:@2.
You don't have permission to run this command (missing privilege: @1).=Нямате право да изпълните тази команда (липсващи права: @1).
Invalid time (must be between 0 and 24000).=Неправилно време (трябва да бъде между 0 и 24000).
Time of day changed.=Часът на деня е променен.
Invalid hour (must be between 0 and 23 inclusive).=Неверен час (трябва да бъде между 0 и 23 включително).
Invalid minute (must be between 0 and 59 inclusive).=Невярна минута (трябва да бъде между 0 и 59 включително).
Show day count since world creation=Показва броя дни от създаването на света
Current day is @1.=Текущият ден е @1.
[<delay_in_seconds> | -1] [-r] [<message>]=[<забавяне_в_секунди> | -1] [-r] [<съобщение>]
Shutdown server (-1 cancels a delayed shutdown, -r allows players to reconnect)=Изключва сървъра (-1 отменя забавено спиране, -r позволява на играчите повторно да се свързват)
Server shutting down (operator request).=Сървърът се изключва (по искане на оператор).
Ban the IP of a player or show the ban list=Забранява играч/IP или извежда списък със забранените
The ban list is empty.=Списъкът със забранени е празен.
Ban list: @1=Списък със забранени: @1
You cannot ban players in singleplayer!=Не можете да забраните играчи в режим един играч!
Player is not online.=Играчът не е на линия.
Failed to ban player.=Грешка при забраняване на играч.
Banned @1.=Играчът @1 е забранен.
<name> | <IP_address>=<име> | <IP_адрес>
Remove IP ban belonging to a player/IP=Премахва забрана по IP на играч/IP.
Failed to unban player/IP.=Грешка при премахване забраната на играч/IP.
Unbanned @1.=Премахната забрана на @1.
<name> [<reason>]=<име> [<причина>]
Kick a player=Изгонва играч
Failed to kick player @1.=Грешка при изгонване на играча @1.
Kicked @1.=Играчът @1 е изгонен.
[full | quick]=[пълно | бързо]
Clear all objects in world=Премахва всички обекти в света
Invalid usage, see /help clearobjects.=Неприемливи параметри. Вижте /help clearobjects.
Clearing all objects. This may take a long time. You may experience a timeout. (by @1)=Премахване на всички обекти. Може да отнеме време. Може и времето за връзка да изтече. (by @1)
Cleared all objects.=Премахнати са всички обекти.
<name> <message>=<име> <съобщение>
Send a direct message to a player=Изпраща лично съобщение на играч
Invalid usage, see /help msg.=Неприемливи параметри. Вижте /help msg.
The player @1 is not online.=Играчът @1 не е на линия.
DM from @1: @2=ЛС от @1: @2
DM sent to @1: @2=ЛС изпратено до @1: @2
Get the last login time of a player or yourself=Получава последното влизане на играч или себе си
@1's last login time was @2.=Последното влизане на @1 е @2.
@1's last login time is unknown.=Последното влизане на @1 е неизвестно.
Clear the inventory of yourself or another player=Изчиства инвентара на друг играч или вас
You don't have permission to clear another player's inventory (missing privilege: @1).=Нямате право да изчиствате инвентара на друг играч (липсващи права: @1).
@1 cleared your inventory.=@1 изчисти вашия инвентар.
Cleared @1's inventory.=Инвентарът на @1 е изчистен.
Player must be online to clear inventory!=Играчът трябва да е онлайн, за да изчистите инвентара му!
Players can't be killed, damage has been disabled.=Играчите не могат да бъдат убивани, щетите са изключени.
Player @1 is not online.=Играчът @1 не е на линия.
You are already dead.=Вече сте мъртви.
@1 is already dead.=@1 вече е мъртъв.
@1 has been killed.=@1 е убит.
Kill player or yourself=Убива играч или себе си
Invalid parameters (see /help @1).=Неприемливи параметри (вижте /help @1).
Too many arguments, try using just /help <command>=Твърде много аргументи, опитайте /help <команда>
Available commands: @1=Достъпни команди: @1
Use '/help <cmd>' to get more information, or '/help all' to list everything.=Използвайте „/help <cmd>“, за да получите повече информация, или „/help all“, за да видите списък с всички команди.
Available commands:=Достъпни команди:
Command not available: @1=Командата не е достъпна: @1
[all | privs | <cmd>] [-t]=[all | privs | <команда>] [-t]
Get help for commands or list privileges (-t: output in chat)=Получава помощ за команди или списък с права (-t: извежда в панела за разговори)
Available privileges:=Достъпни права:
You died=Умряхте
Respawn=Прераждане
Command=Команда
Parameters=Параметри
For more information, click on any entry in the list.=За повече информация щракнете върху елемент от списъка.
Double-click to copy the entry to the chat history.=Двоен клик за копиране на елемента в историята на разговори.
Command: @1 @2=Команда: @1 @2
Available commands: (see also: /help <cmd>)=Достъпни команди: (вижте /help <команда>)
Close=Затваряне
Privilege=Права
Description=Описание
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=Управлява инструмента за профилиране и данните от него. Може да изведе в панела за разговори (print), в дневника (dump) или във файл в света (save). Форматът може да бъде txt, csv, lua, json, json_pretty (структурите може да бъдат променени). Филтърът е шаблон на lua за ограничаване на изхода до съвпадащи имена на модификации.
Statistics written to action log.=Статистиката е записана в дневника.
Statistics were reset.=Статистиката е нулирана.
@1 joined the game.=@1 се присъедини.
@1 left the game.=@1 напусна играта.
@1 left the game (timed out).=@1 напусна играта (изтекло време).
(no description)=(няма описание)
Can interact with things and modify the world=Може да взаимодейства с неща и променя света
Can speak in chat=Може да пише съобщения
Can modify basic privileges (@1)=Може да променя основните права (@1)
Can modify privileges=Може да променя права
Can teleport self=Може да телепортира себе си
Can teleport other players=Може да телепортира играчи
Can set the time of day using /time=Може да задава часа през деня чрез /time
Can do server maintenance stuff=Може да извършва поддръжка на сървъра
Can bypass node protection in the world=Може да заобикаля защитата на възли в света
Can ban and unban players=Може да забранява и разрешава играчи
Can kick players=Може да изгонва играчи
Can use /give and /giveme=Може да използва /give и /giveme
Can use /setpassword and /clearpassword=Може да използва /setpassword и /clearpassword
Can use fly mode=Може да използва режим на летене
Can use fast mode=Може да използва режим на бързо придвижване
Can fly through solid nodes using noclip mode=Може да преминава през твърди възли в режим „без изрязване“
Can use the rollback functionality=Може да използва възможността за отменяне на действия
Can enable wireframe=Може да включва телени рамки
Unknown Item=Неизвестен предмет
Air=Въздух
Ignore=Пренебрегване
You can't place 'ignore' nodes!=Не можете да поставяте възли „пренебрегване“!
Values below show absolute/relative times spend per server step by the instrumented function.=Стойностите по-долу показват абсолютното/относителното време за всяка стъпка на сървъра от замерваната функция.
A total of @1 sample(s) were taken.=Взети са общи @1 проби.
The output is limited to '@1'.=Изходът е ограничен до „@1“.
Saving of profile failed: @1=Грешка при запазване на профила: @1
Profile saved to @1=Профилът е запазен в @1

View File

@@ -236,6 +236,7 @@ Air=Luft
Ignore=Ignorieren
You can't place 'ignore' nodes!=Sie können keine „ignore“-Blöcke platzieren!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<Filter>] | dump [<Filter>] | save [<Format> [<Filter>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=Den Profiler benutzen und mit Profiling-Daten arbeiten. Kann in den Chat (print), in das Action-Protokoll (dump) oder in eine Datei in der Welt (save) ausgeben. Das Format kann „txt“, „csv“, „lua“, „json“ oder „json_pretty“ sein (die Strukturen könnten sich in Zukunft ändern). Filter ist ein Lua-Pattern, das benutzt wird, um die Ausgabe auf passende Modnamen einzuschränken.
Statistics written to action log.=Statistiken zum Aktionsprotokoll geschrieben.
Statistics were reset.=Statistiken wurden zurückgesetzt.
Values below show absolute/relative times spend per server step by the instrumented function.=Die unten angegebenen Werte zeigen absolute/relative Zeitspannen, die je Server-Step von der instrumentierten Funktion in Anspruch genommen wurden.

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Sendu rekte privatan mesaĝon al ludanto
Invalid usage, see /help msg.=Nevalida uzo, vidu /help msg.
The player @1 is not online.=La ludanto @1 ne ĉeretas.
DM from @1: @2=Privata mesaĝo de @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Vidi la lastan salutotempon de ludanto, aŭ vi mem
@1's last login time was @2.=Lasta salutotempo de @1 estas @2.
@1's last login time is unknown.=Lasta salutotempo de @1 estas nesciata.
@@ -235,6 +236,7 @@ Air=Aero
Ignore=Malatenti
You can't place 'ignore' nodes!=Vi ne povas meti «malatentajn» monderojn!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filtrilo>] | dump [<filtrilo>] | save [<formo> [<filtrilo>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Analizoj skribitaj al agoprotokolo.
Statistics were reset.=Analizoj forviŝitaj.
Values below show absolute/relative times spend per server step by the instrumented function.=Valoroj subaj montras la malrelativan/relativan tempon pasigitan de la servilo je ĉiu paŝo de la funkcio.

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Envoyer un message privé à un joueur.
Invalid usage, see /help msg.=Usage invalide, voir /help msg.
The player @1 is not online.=Le joueur @1 n'est pas en ligne.
DM from @1: @2=Message privé de @1 : @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Obtenir l'horodatage de la dernière connexion d'un joueur ou de vous-même.
@1's last login time was @2.=@1 s'est connecté pour la dernière fois au @2.
@1's last login time is unknown.=L'horodatage de la dernière connexion de @1 est inconnu.
@@ -235,6 +236,7 @@ Air=Air
Ignore=Ignorer
You can't place 'ignore' nodes!=Vous ne pouvez pas placé de nœuds 'ignorés' !
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filtre>] | dump [<filtre>] | save [<format> [<filtre>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Les statistiques sont écrites dans les journaux d'actions.
Statistics were reset.=Les statistiques ont été réinitialisées.
Values below show absolute/relative times spend per server step by the instrumented function.=Les valeurs inférieures affichent les temps absolu et relatif dépensés par étape du serveur par la fonction utilisée.

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Kirim pesan langsung kepada pemain
Invalid usage, see /help msg.=Penggunaan tidak sah. Lihat /help msg.
The player @1 is not online.=Pemain @1 tidak daring.
DM from @1: @2=Pesan langsung dari @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Ambil waktu masuk terakhir pemain atau diri Anda
@1's last login time was @2.=Waktu masuk terakhir @1 adalah @2.
@1's last login time is unknown.=Waktu masuk terakhir @1 tidak diketahui.
@@ -235,6 +236,7 @@ Air=Udara
Ignore=Ignore
You can't place 'ignore' nodes!=Anda tidak dapat menaruh nodus 'ignore'!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Statistik ditulis ke log action.
Statistics were reset.=Statistik diatur ulang.
Values below show absolute/relative times spend per server step by the instrumented function.=Nilai berikut menampilkan waktu mutlak/relatif yang dihabiskan tiap langkah server oleh fungsi instrumen.

View File

@@ -193,6 +193,7 @@ Send a direct message to a player=Invia un messaggio privato a unə giocatore
Invalid usage, see /help msg.=Uso incorretto, vedi /help msg
The player @1 is not online.=Lə giocatore @1 non è connessə.
DM from @1: @2=Messaggio privato da @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Ritorna l'ultimo accesso di unə giocatore o di te stessǝ
@1's last login time was @2.=L'ultimo accesso di @1 è avvenuto il @2.
@1's last login time is unknown.=L'ultimo accesso di @1 è ignoto.
@@ -236,6 +237,7 @@ Air=Aria
Ignore=Ignora
You can't place 'ignore' nodes!=Non puoi piazzare nodi 'ignore'!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filtro>] | dump [<filtro>] | save [<formato> [<filtro>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Statistiche scritte nel registro delle azioni.
Statistics were reset.=Le statistiche sono state resettate.
Values below show absolute/relative times spend per server step by the instrumented function.=I valori sottostanti mostrano i tempi assoluti/relativi impiegati su ogni singolo step dalla funzione analizzata

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Menghantar mesej terus kepada seorang pemain
Invalid usage, see /help msg.=Kegunaan tidak sah, sila lihat /help msg.
The player @1 is not online.=Pemain @1 tidak berada dalam talian.
DM from @1: @2=DM daripada @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Dapatkan waktu log masuk terakhir bagi seorang pemain atau diri sendiri
@1's last login time was @2.=Waktu log masuk terakhir @1 ialah pada @2.
@1's last login time is unknown.=Waktu log masuk terakhir @1 tidak diketahui.
@@ -235,6 +236,7 @@ Air=Udara
Ignore=Abai
You can't place 'ignore' nodes!=Anda tidak boleh meletakkan nod 'abai'!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<tapisan>] | dump [<tapisan>] | save [<format> [<tapisan>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Statistik telah ditulis ke log perlakuan.
Statistics were reset.=Statistik telah ditetapkan semula.
Values below show absolute/relative times spend per server step by the instrumented function.=Nilai di bawah menunjukkan masa mutlak/relatif yang digunakan oleh fungsi yang dipasangkan pada setiap langkah pelayan

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Enviar uma mensagem direta a um jogador
Invalid usage, see /help msg.=Uso inválido, veja /help msg.
The player @1 is not online.=O jogador @1 não está online.
DM from @1: @2=DM de @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Pegue o último horário de login de um jogador ou de você mesmo
@1's last login time was @2.=O último login de @1 foi às @2.
@1's last login time is unknown.=O último login de @1 é desconhecido.
@@ -235,6 +236,7 @@ Air=Ar
Ignore=Ignorar
You can't place 'ignore' nodes!=Você não pode colocar nós 'ignorar'!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filtro>] | dump [<filtro>] | save [<formato> [<filtro>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Estatísticas salvas no log de ações.
Statistics were reset.=As estatísticas foram redefinidas.
Values below show absolute/relative times spend per server step by the instrumented function.=Os valores abaixo mostram os tempos absolutos/relativos gastos por etapa do servidor pela função instrumentada.

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Отправить прямое сообщен
Invalid usage, see /help msg.=Недопустимое использование, см. /help msg.
The player @1 is not online.=Игрок @1 не находится в игре.
DM from @1: @2=DM от @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Вывести время последнего входа игрока или своё
@1's last login time was @2.=Время последнего входа @1: @2.
@1's last login time is unknown.=Время последнего входа @1 неизвестно.
@@ -235,6 +236,7 @@ Air=Воздух
Ignore=Игнорируемая встроенная нода (":ignore")
You can't place 'ignore' nodes!=Вы не можете установить ноду 'ignore'!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Статистика записывается в журнал действий.
Statistics were reset.=Статистика была сброшена.
Values below show absolute/relative times spend per server step by the instrumented function.=Приведенные ниже значения показывают абсолютное/относительное время, затрачиваемое функцией на каждый шаг сервера.

View File

@@ -12,7 +12,7 @@
"v-rob <robinsonvincent89@gmail.com>",
"Desour/DS",
"srifqi",
"Gregor Parzefall (grorp)",
"grorp",
"Lars Müller (luatic)",
"cx384",
"sfence",
@@ -47,14 +47,11 @@
],
"#": "For updating active/previous contributors, see the script in ./util/gather_git_credits.py",
"contributors": [
"Erich Schubert",
"Lucas OH",
"Xeno333",
"Miguel P.L",
"siliconsniffer",
"JosiahWI"
"Xeno333"
],
"previous_contributors": [
"Wuzzy (Wuzzy2)",
"Ælla Chiana Moskopp (erle) <erle@dieweltistgarnichtso.net> [Logo]",
"numzero",
"red-001 <red-001@outlook.ie>",
@@ -66,6 +63,7 @@
"Jean-Patrick Guerrero (kilbith)",
"MoNTE48",
"Constantin Wenger (SpeedProg)",
"JosiahWI",
"Ciaran Gultnieks (CiaranG)",
"ROllerozxa",
"Paul Ouellette (pauloue)",

View File

@@ -5,6 +5,7 @@
local format, ipairs, type = string.format, ipairs, type
local core, get_current_modname = core, core.get_current_modname
local profiler, sampler = ...
local debug_getinfo = debug.getinfo
local instrument_builtin = core.settings:get_bool("instrument.builtin", false)
@@ -67,7 +68,7 @@ local worldmods_path = regex_escape(core.get_worldpath())
local user_path = regex_escape(core.get_user_path())
local builtin_path = regex_escape(core.get_builtin_path())
local function generate_source_location(def)
local info = debug.getinfo(def.func)
local info = debug_getinfo(def.func)
local modpath = regex_escape(core.get_modpath(def.mod) or "")
local source = info.source
if modpath ~= "" then

View File

@@ -77,30 +77,28 @@ some shader settings cannot be used on OpenGL ES.
Changing the graphic driver setting to OpenGL will not work.
## Building Requirements
In order to build, your PC has to be set up to build Luanti in the usual
manner (see the regular Luanti documentation for how to get this done).
In addition to what is required for Luanti in general, you will need the
following software packages. The version number in parenthesis denotes the
version that was tested at the time this README was drafted; newer/older
versions may or may not work.
* Android SDK 29
* Android NDK r21
* Android Studio 3 [optional]
In order to build, you will need the following development tools:
* Java JDK
* Android SDK
* `gettext` command line tools
* Android Studio [optional]
Additionally, you'll need to have an Internet connection available on the
build system, as the Android build will download some source packages.
## Build
The new build system Luanti Android is fully functional and is designed to
speed up and simplify the work, as well as adding the possibility of
cross-platform build.
You can use `./gradlew assemblerelease` or `./gradlew assembledebug` from the
You can use `./gradlew assembleRelease` or `./gradlew assembleDebug` from the
command line or use Android Studio and click the build button.
When using gradlew, the newest NDK will be downloaded and installed
automatically. Or you can create a `local.properties` file and specify
`sdk.dir` and `ndk.dir` yourself.
automatically. You have to create a `local.properties` file and specify
`sdk.dir` yourself if you want to use an existing installation.
* In order to make a release build you'll have to have a keystore setup to sign
the resulting apk package. How this is done is not part of this README. There

View File

@@ -400,7 +400,7 @@ IBoneSceneNode *CAnimatedMeshSceneNode::getJointNode(const c8 *jointName)
return 0;
}
return PerJoint.SceneNodes[*number];
return PerJoint.SceneNodes[*number].get();
}
//! Returns a pointer to a child node, which has the same transformation as
@@ -419,7 +419,7 @@ IBoneSceneNode *CAnimatedMeshSceneNode::getJointNode(u32 jointID)
return 0;
}
return PerJoint.SceneNodes[jointID];
return PerJoint.SceneNodes[jointID].get();
}
//! Gets joint count.
@@ -441,8 +441,8 @@ bool CAnimatedMeshSceneNode::removeChild(ISceneNode *child)
if (ISceneNode::removeChild(child)) {
if (JointsUsed) { // stop weird bugs caused while changing parents as the joints are being created
for (u32 i = 0; i < PerJoint.SceneNodes.size(); ++i) {
if (PerJoint.SceneNodes[i] == child) {
PerJoint.SceneNodes[i] = 0; // remove link to child
if (PerJoint.SceneNodes[i].get() == child) {
PerJoint.SceneNodes[i].reset(); // remove link to child
break;
}
}
@@ -551,13 +551,13 @@ void CAnimatedMeshSceneNode::addJoints()
const auto *joint = joints[i];
ISceneNode *parent = this;
if (joint->ParentJointID)
parent = PerJoint.SceneNodes.at(*joint->ParentJointID); // exists because of topo. order
parent = PerJoint.SceneNodes.at(*joint->ParentJointID).get(); // exists because of topo. order
assert(parent);
const auto *matrix = std::get_if<core::matrix4>(&joint->transform);
PerJoint.SceneNodes.push_back(new CBoneSceneNode(
PerJoint.SceneNodes.push_back(irr_ptr<CBoneSceneNode>(new CBoneSceneNode(
parent, SceneManager, 0, i, joint->Name,
matrix ? core::Transform{} : std::get<core::Transform>(joint->transform),
matrix ? *matrix : std::optional<core::matrix4>{}));
matrix ? *matrix : std::optional<core::matrix4>{})));
}
}
@@ -610,7 +610,7 @@ void CAnimatedMeshSceneNode::checkJoints()
if (!JointsUsed) {
for (u32 i = 0; i < PerJoint.SceneNodes.size(); ++i)
removeChild(PerJoint.SceneNodes[i]);
removeChild(PerJoint.SceneNodes[i].get());
addJoints();
JointsUsed = true;

View File

@@ -10,6 +10,7 @@
#include "SkinnedMesh.h"
#include "Transform.h"
#include "irr_ptr.h"
#include "matrix4.h"
namespace scene
@@ -172,7 +173,7 @@ class CAnimatedMeshSceneNode : public IAnimatedMeshSceneNode
std::function<void(f32)> OnAnimateCallback;
struct PerJointData {
std::vector<CBoneSceneNode *> SceneNodes;
std::vector<irr_ptr<CBoneSceneNode>> SceneNodes;
std::vector<core::matrix4> GlobalMatrices;
std::vector<std::optional<core::Transform>> PreTransSaves;
void setN(u16 n) {

View File

@@ -17,11 +17,6 @@
#endif
#include <SDL.h>
// DirectFB is removed in SDL3, thou distribution as Alpine currently ships SDL2
// with enabled DirectFB, but requiring another fix at a top of SDL2.
// We don't need DirectFB in Irrlicht/Minetest, so simply disable it here to prevent issues.
#undef SDL_VIDEO_DRIVER_DIRECTFB
#include <SDL_syswm.h>
#include <memory>
#include <unordered_map>

View File

@@ -8,6 +8,7 @@
#include "CIrrDeviceStub.h"
#include "IrrlichtDevice.h"
#include "ITexture.h"
#define WIN32_LEAN_AND_MEAN
#include <windows.h>

View File

@@ -174,6 +174,6 @@
<update_contact>celeron55@gmail.com</update_contact>
<releases>
<release date="2025-08-01" version="5.13.0"/>
<release date="2025-10-05" version="5.14.0"/>
</releases>
</component>

File diff suppressed because it is too large Load Diff

View File

@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: German (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-09-13 08:01+0000\n"
"Last-Translator: Lars Müller <appgurulars@gmx.de>\n"
"PO-Revision-Date: 2025-09-24 12:28+0000\n"
"Last-Translator: Wuzzy <Wuzzy@disroot.org>\n"
"Language-Team: German <https://hosted.weblate.org/projects/minetest/minetest/"
"de/>\n"
"Language: de\n"
@@ -1869,19 +1869,16 @@ msgid "Down Arrow"
msgstr "Pfeil runter"
#: src/client/keycode.cpp
#, fuzzy
msgid "End Key"
msgstr "Menü-Taste"
msgstr "Ende-Taste"
#: src/client/keycode.cpp
#, fuzzy
msgid "Help Key"
msgstr "Entf-Taste"
msgstr "Hilfe-Taste"
#: src/client/keycode.cpp
#, fuzzy
msgid "Home Key"
msgstr "Zoom-Taste"
msgstr "Pos1-Taste"
#: src/client/keycode.cpp
msgid "Insert"
@@ -1892,9 +1889,8 @@ msgid "Left Arrow"
msgstr "Pfeil links"
#: src/client/keycode.cpp
#, fuzzy
msgid "Left Click"
msgstr "Strg links"
msgstr "Linksklick"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1919,15 +1915,15 @@ msgstr "Menü-Taste"
#: src/client/keycode.cpp
msgid "Middle Click"
msgstr ""
msgstr "Mittelklick"
#: src/client/keycode.cpp
msgid "Mouse X1"
msgstr ""
msgstr "Maus X1"
#: src/client/keycode.cpp
msgid "Mouse X2"
msgstr ""
msgstr "Maus X2"
#: src/client/keycode.cpp
msgid "Num Lock"
@@ -2024,9 +2020,8 @@ msgid "Right Arrow"
msgstr "Pfeil rechts"
#: src/client/keycode.cpp
#, fuzzy
msgid "Right Click"
msgstr "Strg rechts"
msgstr "Rechtsklick"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -2050,9 +2045,8 @@ msgid "Scroll Lock"
msgstr "Rollen"
#: src/client/keycode.cpp
#, fuzzy
msgid "Select Key"
msgstr "Entf-Taste"
msgstr "Select-Taste"
#: src/client/keycode.cpp
msgid "Shift Key"
@@ -2063,9 +2057,8 @@ msgid "Space"
msgstr "Leertaste"
#: src/client/keycode.cpp
#, fuzzy
msgid "Tab Key"
msgstr "Untbr-Taste"
msgstr "Tab-Taste"
#: src/client/keycode.cpp
msgid "Up Arrow"
@@ -2508,7 +2501,6 @@ msgid "3D noise that determines number of dungeons per mapchunk."
msgstr "3-D-Rauschen, welches die Anzahl der Verliese je Mapchunk festlegt."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -2522,8 +2514,6 @@ msgstr ""
"Aktuell verfügbar:\n"
"- none: Keine 3-D-Ausgabe.\n"
"- anaglyph: Türkises / magenta 3-D.\n"
"- interlaced: Bildschirmunterstützung für gerade / ungerade "
"zeilenbasierte Polarisation.\n"
"- topbottom: Bildschirm horizontal teilen.\n"
"- sidebyside: Bildschirm vertikal teilen.\n"
"- crossview: Schieläugiges 3-D"
@@ -2902,7 +2892,7 @@ msgstr "Kameraglättung im Filmmodus"
#: src/settings_translation_file.cpp
msgid "Capture Tracy zones"
msgstr ""
msgstr "Tracy-Zonen aufnehmen"
#: src/settings_translation_file.cpp
msgid ""
@@ -2910,6 +2900,9 @@ msgid ""
"You need to build with Tracy to use this, see doc/developing/profiling.md\n"
"for details."
msgstr ""
"Tracy-Zonen mit der Instrumentierung des Profilers aufnehmen.\n"
"Sie benötigen einen Build mit Tracy, um dies verwenden zu können,\n"
"siehe doc/developing/profiling.md für Details."
#: src/settings_translation_file.cpp
msgid "Cave noise"
@@ -3477,7 +3470,7 @@ msgstr "Entwickleroptionen"
#: src/settings_translation_file.cpp
msgid "Disable if you only want to instrument with Tracy."
msgstr ""
msgstr "Deaktivieren, falls Sie mit Tracy nur instrumentieren wollen."
#: src/settings_translation_file.cpp
msgid "Disallow empty passwords"
@@ -5489,9 +5482,8 @@ msgid "Maximum users"
msgstr "Maximale Benutzerzahl"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Measure time samples"
msgstr "Wüstentempel"
msgstr "Zeitstempel messen"
#: src/settings_translation_file.cpp
msgid "Message of the day"

View File

@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: Italian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-05-31 06:01+0000\n"
"Last-Translator: Zughy <zhu.gamedev@tutanota.com>\n"
"PO-Revision-Date: 2025-09-25 13:02+0000\n"
"Last-Translator: Ludus <alessio.desantis28@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/minetest/"
"minetest/it/>\n"
"Language: it\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.12-dev\n"
"X-Generator: Weblate 5.14-dev\n"
#: builtin/client/chatcommands.lua
msgid "Clear the out chat queue"
@@ -63,9 +63,8 @@ msgid "Command not available: "
msgstr "Comando non disponibile: "
#: builtin/common/chatcommands.lua
#, fuzzy
msgid "Get help for commands (-t: output in chat)"
msgstr "Ottieni aiuto per i comandi"
msgstr "Ottieni aiuto per i comandi (-t: output nella chat)"
#: builtin/common/chatcommands.lua
msgid ""
@@ -204,9 +203,8 @@ msgid "(The game will need to enable bloom as well)"
msgstr "(Anche il gioco dovrà abilitare le ombre)"
#: builtin/common/settings/dlg_settings.lua
#, fuzzy
msgid "(The game will need to enable volumetric lighting as well)"
msgstr "(Anche il gioco dovrà abilitare le ombre)"
msgstr "(Anche il gioco dovrà abilitare l'illuminazione volumetrica)"
#: builtin/common/settings/dlg_settings.lua
msgid "(Use system language)"
@@ -303,9 +301,8 @@ msgid "Tap with crosshair"
msgstr "Tocco con mirino"
#: builtin/common/settings/dlg_settings.lua
#, fuzzy
msgid "Touchscreen layout"
msgstr "Touch screen"
msgstr "Layout del touch screen"
#: builtin/common/settings/settingtypes.lua
msgid "Client Mods"
@@ -413,13 +410,12 @@ msgid "Failed to download $1"
msgstr "Impossibile scaricare $1"
#: builtin/mainmenu/content/contentdb.lua
#, fuzzy
msgid ""
"Failed to extract \"$1\" (insufficient disk space, unsupported file type or "
"broken archive)"
msgstr ""
"Impossibile estrarre \"$1\" (tipo di file non supportato o archivio "
"danneggiato)"
"Impossibile estrarre \"$1\" (spazio del disco non sufficiente, tipo di file "
"non supportato o archivio danneggiato)"
#: builtin/mainmenu/content/dlg_contentdb.lua
msgid ""
@@ -438,9 +434,8 @@ msgid "All"
msgstr "Tutto"
#: builtin/mainmenu/content/dlg_contentdb.lua
#, fuzzy
msgid "ContentDB is not available when Luanti was compiled without cURL"
msgstr "ContentDB non è disponibile quando Minetest viene compilato senza cURL"
msgstr "ContentDB non è disponibile quando Luanti viene compilato senza cURL"
#: builtin/mainmenu/content/dlg_contentdb.lua
msgid "Downloading..."
@@ -583,14 +578,12 @@ msgid "Forum Topic"
msgstr "Discussione sul forum"
#: builtin/mainmenu/content/dlg_package.lua
#, fuzzy
msgid "Information"
msgstr "Informazioni:"
msgstr "Informazioni"
#: builtin/mainmenu/content/dlg_package.lua
#, fuzzy
msgid "Install [$1]"
msgstr "Installa $1"
msgstr "Installa [$1]"
#: builtin/mainmenu/content/dlg_package.lua
msgid "Issue Tracker"
@@ -793,6 +786,8 @@ msgid ""
"Different dungeon variant generated in desert biomes (only if dungeons "
"enabled)"
msgstr ""
"Variante diversa di dungeon generata nei biomi desertici (solo se i dungeon "
"sono abilitati)"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Dungeons"
@@ -1013,14 +1008,13 @@ msgid "Dismiss"
msgstr "Chiudi"
#: 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 ""
"Per molto tempo, il motore Minetest veniva fornito con un gioco predefinito "
"chiamato \"Minetest Game\". A partire dalla versione 5.8.0, Minetest viene "
"fornito senza."
"Per molto tempo, Luanti veniva fornito con un gioco predefinito chiamato "
"\"Minetest Game\". A partire dalla versione 5.8.0, Luanti viene fornito "
"senza."
#: builtin/mainmenu/dlg_reinstall_mtg.lua
msgid ""
@@ -1279,9 +1273,8 @@ msgid "You need to install a game before you can create a world."
msgstr "Devi installare un gioco prima di poter creare un mondo."
#: builtin/mainmenu/tab_online.lua
#, fuzzy
msgid "Add favorite"
msgstr "Rimuovi preferito"
msgstr "Aggiungi preferito"
#: builtin/mainmenu/tab_online.lua
msgid "Address"
@@ -1322,9 +1315,8 @@ msgid "Number of mods: $1"
msgstr "Numero di moduli: $1"
#: builtin/mainmenu/tab_online.lua
#, fuzzy
msgid "Open server website"
msgstr "Passo dedicato del server"
msgstr "Apri il sito web del server"
#: builtin/mainmenu/tab_online.lua
msgid "Ping"
@@ -1381,7 +1373,7 @@ msgstr "Fatto!"
#: src/client/client.cpp
#, c-format
msgid "Failed to save screenshot to \"%s\""
msgstr ""
msgstr "Impossibile salvare lo screenshot in \"%s\""
#: src/client/client.cpp
msgid "Initializing nodes"
@@ -1400,9 +1392,9 @@ msgid "Rebuilding shaders..."
msgstr "Ricostruendo le shaders..."
#: src/client/client.cpp
#, fuzzy, c-format
#, c-format
msgid "Saved screenshot to \"%s\""
msgstr "Screenshot"
msgstr "Screenshot salvato in \"%s\""
#: src/client/clientlauncher.cpp
msgid "Could not find or load game: "
@@ -1480,7 +1472,7 @@ msgstr "I limiti del blocco sono mostrati per i blocchi vicini"
#: src/client/game.cpp
msgid "Bounding boxes shown"
msgstr ""
msgstr "Hitbox visualizzate"
#: src/client/game.cpp
msgid "Camera update disabled"
@@ -1671,7 +1663,7 @@ msgstr "Impossibile ascoltare su %s perché IPv6 è disabilitato"
#: src/client/game.cpp
#, fuzzy
msgid "Unlimited viewing range disabled"
msgstr "Raggio visivo illimitato abilitato"
msgstr "Raggio visivo illimitato disabilitato"
#: src/client/game.cpp
#, fuzzy
@@ -1701,9 +1693,9 @@ msgid "Viewing range changed to %d"
msgstr "Raggio visivo cambiato a %d"
#: src/client/game.cpp
#, fuzzy, c-format
#, c-format
msgid "Viewing range changed to %d (the maximum)"
msgstr "Raggio visivo cambiato a %d"
msgstr "Raggio visivo cambiato a %d (il massimo)"
#: src/client/game.cpp
#, c-format
@@ -1725,7 +1717,7 @@ msgstr "Volume cambiato a %d%%"
#: src/client/game.cpp
msgid "Wireframe not supported by video driver"
msgstr ""
msgstr "Wireframe non supportato dal driver video"
#: src/client/game.cpp
msgid "Wireframe shown"
@@ -1903,12 +1895,12 @@ msgstr "Menu"
#: src/client/keycode.cpp
#, fuzzy
msgid "Help Key"
msgstr "Rimuovi"
msgstr "Aiuto"
#: src/client/keycode.cpp
#, fuzzy
msgid "Home Key"
msgstr "Ingrandimento"
msgstr "Home"
#: src/client/keycode.cpp
msgid "Insert"
@@ -1920,9 +1912,8 @@ msgid "Left Arrow"
msgstr "Control Sinistro"
#: src/client/keycode.cpp
#, fuzzy
msgid "Left Click"
msgstr "Control Sinistro"
msgstr "Click Sinistro"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1948,7 +1939,7 @@ msgstr "Menu"
#: src/client/keycode.cpp
msgid "Middle Click"
msgstr ""
msgstr "Click Centrale"
#: src/client/keycode.cpp
msgid "Mouse X1"
@@ -2058,9 +2049,8 @@ msgid "Right Arrow"
msgstr "Ctrl destro"
#: src/client/keycode.cpp
#, fuzzy
msgid "Right Click"
msgstr "Ctrl destro"
msgstr "Click destro"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -2086,7 +2076,7 @@ msgstr "Scroll Lock"
#: src/client/keycode.cpp
#, fuzzy
msgid "Select Key"
msgstr "Rimuovi"
msgstr "Seleziona Tasto"
#: src/client/keycode.cpp
#, fuzzy
@@ -2098,9 +2088,8 @@ msgid "Space"
msgstr "Spazio"
#: src/client/keycode.cpp
#, fuzzy
msgid "Tab Key"
msgstr "Tasto furtivo"
msgstr "Tab"
#: src/client/keycode.cpp
msgid "Up Arrow"
@@ -2125,9 +2114,9 @@ msgid "Minimap in texture mode"
msgstr "Minimappa in modalità texture"
#: src/client/shader.cpp
#, fuzzy, c-format
#, c-format
msgid "Failed to compile the \"%s\" shader."
msgstr "Impossibile aprire la pagina web"
msgstr "Compilazione dello shader \"%s\" non riuscita."
#: src/client/shader.cpp
#, fuzzy
@@ -2161,7 +2150,7 @@ msgstr "Alcuni moduli hanno dipendenze non soddisfatte:"
#: src/gui/guiButtonKey.h
#, fuzzy
msgid "Press Button"
msgstr "Pulsante Sinistro"
msgstr "Premi un Tasto"
#: src/gui/guiChatConsole.cpp
msgid "Failed to open webpage"
@@ -2216,7 +2205,7 @@ msgstr "Volume suono: %d%%"
#: src/gui/touchscreeneditor.cpp
#, fuzzy
msgid "Add button"
msgstr "Pulsante Centrale"
msgstr "Inserisci pulsante"
#: src/gui/touchscreeneditor.cpp
#, fuzzy
@@ -2234,6 +2223,7 @@ msgstr "Ripristina"
#: src/gui/touchscreeneditor.cpp
msgid "Start dragging a button to add. Tap outside to cancel."
msgstr ""
"Inizia a trascinare un pulsante per aggiungerlo. Tocca fuori per annullare."
#: src/gui/touchscreeneditor.cpp
msgid "Tap a button to select it. Drag a button to move it."
@@ -2337,9 +2327,8 @@ msgid "Internal server error"
msgstr "Errore interno del server"
#: src/network/clientpackethandler.cpp
#, fuzzy
msgid "Invalid password"
msgstr "Vecchia password"
msgstr "Password non valida"
#. ~ DO NOT TRANSLATE THIS LITERALLY!
#. This is a special string which needs to contain the translation's
@@ -2365,9 +2354,8 @@ msgid "Player name contains disallowed characters"
msgstr "Il nome contiene caratteri non permessi"
#: src/network/clientpackethandler.cpp
#, fuzzy
msgid "Player name not allowed"
msgstr "Nome del giocatore troppo lungo."
msgstr "Nome del giocatore non permesso"
#: src/network/clientpackethandler.cpp
#, fuzzy
@@ -2410,7 +2398,7 @@ msgstr ""
#: src/server.cpp
#, fuzzy, c-format
msgid "%s while shutting down: "
msgstr "Uscita dal gioco..."
msgstr "%s uscendo dal gioco... "
#: src/settings_translation_file.cpp
msgid ""
@@ -2656,6 +2644,9 @@ msgid ""
"All mesh buffers with less than this number of vertices will be merged\n"
"during map rendering. This improves rendering performance."
msgstr ""
"Tutti i buffer mesh con meno di questo numero di vertici saranno uniti\n"
" durante il rendering della mappa. Questo migliora le prestazioni di "
"rendering."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2718,14 +2709,12 @@ msgid "Announce to this serverlist."
msgstr "Annuncia a questo elenco di server."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Anti-aliasing scale"
msgstr "Anti-Scalettatura:"
msgstr "Scala di anti-aliasing"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Antialiasing method"
msgstr "Anti-Scalettatura:"
msgstr "Metodo di antialiasing"
#: src/settings_translation_file.cpp
msgid "Anticheat flags"
@@ -3049,9 +3038,8 @@ msgid "Client"
msgstr "Cliente"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Client Debugging"
msgstr "Debugging"
msgstr "Debug del Client"
#: src/settings_translation_file.cpp
msgid "Client Mesh Chunksize"
@@ -3095,7 +3083,7 @@ msgstr "Nuvole nel menu"
#: src/settings_translation_file.cpp
msgid "Color depth for post-processing texture"
msgstr ""
msgstr "Profondità colore per texture post-processate"
#: src/settings_translation_file.cpp
msgid "Colored fog"
@@ -3308,6 +3296,11 @@ msgid ""
"Reducing this can improve performance, but some effects (e.g. debanding)\n"
"require more than 8 bits to work."
msgstr ""
"Determina la profondità colore della texture utilizzata nella pipeline di "
"post-processing.\n"
"Ridurre questo valore può migliorare le prestazioni, ma alcuni effetti (ad "
"esempio il debanding)\n"
"richiedono più di 8 bit per funzionare correttamente."
#: src/settings_translation_file.cpp
msgid "Decrease view range"
@@ -3542,6 +3535,11 @@ msgid ""
"situations\n"
"where transparency sorting would be very slow otherwise."
msgstr ""
"Disegna triangoli trasparenti ordinati e raggruppati per i rispettivi buffer "
"mesh.\n"
"Questo interrompe lordinamento della trasparenza tra i buffer mesh, ma "
"evita situazioni\n"
"in cui lordinamento della trasparenza sarebbe altrimenti molto lento."
#: src/settings_translation_file.cpp
msgid "Drop item"
@@ -3583,7 +3581,7 @@ msgstr "Attiva Debug per il Bagliore"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Enable Debanding"
msgstr "Abilita il Ferimento"
msgstr "Abilita il Sistema di Danno"
#: src/settings_translation_file.cpp
msgid ""
@@ -3623,9 +3621,8 @@ msgstr ""
"filtro PCF."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Enable Post Processing"
msgstr "Post-elaborazione"
msgstr "Abilita la Post-elaborazione"
#: src/settings_translation_file.cpp
msgid "Enable Raytraced Culling"
@@ -3718,6 +3715,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable updates available indicator on content tab"
msgstr ""
"Abilita lindicatore di aggiornamenti disponibili nella finestra contenuti"
#: src/settings_translation_file.cpp
msgid ""
@@ -3760,16 +3758,16 @@ msgstr "Attiva l'animazione degli oggetti dell'inventario."
#: src/settings_translation_file.cpp
msgid "Enables debug and error-checking in the OpenGL driver."
msgstr ""
msgstr "Abilita il debug e il controllo degli errori nel driver OpenGL."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Enables smooth scrolling."
msgstr "Post-elaborazione"
msgstr "Abilita lo scorrimento fluido."
#: src/settings_translation_file.cpp
msgid "Enables the post processing pipeline."
msgstr ""
msgstr "Abilita la pipeline di post-processing."
#: src/settings_translation_file.cpp
msgid ""
@@ -3778,6 +3776,11 @@ msgid ""
"\"auto\" means that the touchscreen controls will be enabled and disabled\n"
"automatically depending on the last used input method."
msgstr ""
"Abilita i controlli touchscreen, permettendoti di giocare usando un "
"touchscreen.\n"
"\"auto\" significa che i controlli touchscreen saranno abilitati o "
"disabilitati\n"
"automaticamente in base allultimo metodo di input utilizzato."
#: src/settings_translation_file.cpp
msgid ""
@@ -4589,8 +4592,8 @@ msgid ""
"stand.\n"
"This is helpful when working with nodeboxes in small areas."
msgstr ""
"Se abilitata, puoi mettere i blocchi nel punto (piedi + livello oculare) in "
"cui sei.\n"
"Se abilitata, puoi mettere i blocchi nel punto (piedi + altezza occhi) in "
"cui ti trovi.\n"
"Questo è utile quando si lavora con nodebox in aree piccole."
#: src/settings_translation_file.cpp
@@ -4701,9 +4704,8 @@ msgid "Instrument the methods of entities on registration."
msgstr "Predisporre i metodi delle entità alla registrazione."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Interaction style"
msgstr "Iterazioni"
msgstr "Stile di interazione"
#: src/settings_translation_file.cpp
msgid "Interval of saving important changes in the world, stated in seconds."
@@ -4857,6 +4859,8 @@ msgid ""
"Key for digging, punching or using something.\n"
"(Note: The actual meaning might vary on a per-game basis.)"
msgstr ""
"Tasto per scavare, colpire o usare qualcosa.\n"
"(Nota: il significato effettivo può variare a seconda del gioco.)"
#: src/settings_translation_file.cpp
msgid "Key for incrementing the selected value in Quicktune."
@@ -4880,22 +4884,27 @@ msgid ""
"Key for placing an item/block or for using something.\n"
"(Note: The actual meaning might vary on a per-game basis.)"
msgstr ""
"Tasto per posizionare un oggetto/blocco o per usare qualcosa.\n"
"(Nota: il significato effettivo può variare a seconda del gioco.)"
#: src/settings_translation_file.cpp
msgid "Key for switching to the next entry in Quicktune."
msgstr ""
msgstr "Tasto per passare alla voce successiva in Quicktune."
#: src/settings_translation_file.cpp
msgid "Key for switching to the previous entry in Quicktune."
msgstr ""
msgstr "Tasto per passare alla voce precedente in Quicktune."
#: src/settings_translation_file.cpp
msgid "Key for toggling the camera update. Only usable with 'debug' privilege."
msgstr ""
"Tasto per attivare/disattivare laggiornamento della telecamera. "
"Utilizzabile solo con il privilegio 'debug'."
#: src/settings_translation_file.cpp
msgid "Key for toggling the display of mapblock boundaries."
msgstr ""
"Tasto per attivare/disattivare la visualizzazione dei confini dei mapblock."
#: src/settings_translation_file.cpp
msgid "Key for toggling the display of the profiler. Used for development."
@@ -5097,9 +5106,8 @@ msgid "Liquid queue purge time"
msgstr "Tempo di svuotamento della coda del liquido"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Liquid reflections"
msgstr "Fluidità del liquido"
msgstr "Riflessi sui liquidi"
#: src/settings_translation_file.cpp
msgid "Liquid sinking"
@@ -5441,6 +5449,10 @@ msgid ""
"won't be deleted, depending on the current view range.\n"
"Set to -1 for no limit."
msgstr ""
"Numero massimo di mapblock che il client può mantenere in memoria.\n"
"Nota che esiste un numero minimo dinamico interno di blocchi che\n"
"non verranno eliminati, in base all'attuale raggio di visualizzazione.\n"
"Impostare a -1 per nessun limite."
#: src/settings_translation_file.cpp
msgid ""
@@ -5449,6 +5461,10 @@ msgid ""
"You generally don't need to change this, however busy servers may benefit "
"from a higher number."
msgstr ""
"Numero massimo di pacchetti inviati per ogni ciclo di invio nel codice di "
"rete a basso livello.\n"
"Generalmente non è necessario modificarlo, ma i server molto occupati "
"potrebbero trarre vantaggio da un valore più alto."
#: src/settings_translation_file.cpp
msgid "Maximum number of players that can be connected simultaneously."
@@ -5541,9 +5557,8 @@ msgid "Minimap scan height"
msgstr "Altezza di scansione della minimappa"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Minimum dig repetition interval"
msgstr "Intervallo di ripetizione per il piazzamento"
msgstr "Intervallo di ripetizione per il piazzamento/ rimozione"
#: src/settings_translation_file.cpp
msgid "Minimum limit of random number of large caves per mapchunk."
@@ -5556,7 +5571,7 @@ msgstr "Limite minimo di piccole grotte casuali per pezzo di mappa."
#: src/settings_translation_file.cpp
msgid "Minimum vertex count for mesh buffers"
msgstr ""
msgstr "Conteggio minimo di vertici per i buffer mesh"
#: src/settings_translation_file.cpp
msgid "Mipmapping"
@@ -5583,6 +5598,8 @@ msgid ""
"Modifier key bind for closing your world.\n"
"Requires ESC + the selected key to work."
msgstr ""
"Tasto modificatore per chiudere il tuo mondo.\n"
"Richiede ESC + il tasto selezionato per funzionare."
#: src/settings_translation_file.cpp
msgid "Modifies the size of the HUD elements."
@@ -5812,14 +5829,12 @@ msgstr ""
"mette in pausa se è aperta una finestra di dialogo."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "OpenGL debug"
msgstr "Debug del generatore mappa"
msgstr "Debug del generatore mappa (OpenGL)"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Optimize GUI for touchscreens"
msgstr "Usa il mirino per il touch screen"
msgstr "Ottimizza la GUI per i touchscreen"
#: src/settings_translation_file.cpp
msgid "Optional override for chat weblink color."
@@ -5909,7 +5924,6 @@ msgid "Post Processing"
msgstr "Post-elaborazione"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"Prevent digging and placing from repeating when holding the respective "
"buttons.\n"
@@ -5918,7 +5932,8 @@ msgid ""
msgstr ""
"Impedisce la ripetizione di scavo e posizionamento quando si tengono premuti "
"i pulsanti del mouse.\n"
"Abilitalo quando scavi o piazzi troppo spesso per sbaglio."
"Abilitalo quando scavi o piazzi troppo spesso per sbaglio.\n"
"Sul touchscreen, questo influisce solo lo scavo."
#: src/settings_translation_file.cpp
msgid "Prevent mods from doing insecure things like running shell commands."
@@ -5973,23 +5988,23 @@ msgstr "La versione del protocollo non coincide. "
#: src/settings_translation_file.cpp
msgid "Punch gesture"
msgstr ""
msgstr "Gesto di colpo"
#: src/settings_translation_file.cpp
msgid "Quicktune: decrement value"
msgstr ""
msgstr "Quicktune: diminuisci valore"
#: src/settings_translation_file.cpp
msgid "Quicktune: increment value"
msgstr ""
msgstr "Quicktune: aumenta valore"
#: src/settings_translation_file.cpp
msgid "Quicktune: select next entry"
msgstr ""
msgstr "Quicktune: seleziona la prossima voce"
#: src/settings_translation_file.cpp
msgid "Quicktune: select previous entry"
msgstr ""
msgstr "Quicktune:seleziona la voce precedente"
#: src/settings_translation_file.cpp
msgid ""
@@ -6004,6 +6019,8 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Radius to use when the block bounds HUD feature is set to near blocks."
msgstr ""
"Raggio da utilizzare quando la funzione HUD dei limiti del blocco è "
"impostata su blocchi vicini."
#: src/settings_translation_file.cpp
msgid "Raises terrain to make valleys around the rivers."
@@ -6343,11 +6360,12 @@ msgid ""
"Send names of online players to the serverlist. If disabled only the player "
"count is revealed."
msgstr ""
"Invia i nomi dei giocatori online alla lista server. Se disabilitato, viene "
"mostrato solo il numero di giocatori."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Send player names to the server list"
msgstr "Annuncia a questo elenco di server."
msgstr "Annuncia i nomi dei giocatori a questo elenco di server."
#: src/settings_translation_file.cpp
msgid "Server"
@@ -6470,11 +6488,10 @@ msgstr ""
"Valore minimo: 1.0; Valore massimo: 15.0"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Set to true to enable Shadow Mapping."
msgstr ""
"Impostata su vero abilita la Mappatura delle ombre.\n"
"Necessita l'attivazione degli shader."
"Impostata su vero abilita la Mappatura delle ombre. (Necessita l'attivazione "
"degli shader)"
#: src/settings_translation_file.cpp
msgid ""
@@ -6489,11 +6506,10 @@ msgid "Set to true to enable volumetric lighting effect (a.k.a. \"Godrays\")."
msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Set to true to enable waving leaves."
msgstr ""
"Impostata su vero abilita le foglie ondeggianti.\n"
"Necessita l'attivazione degli shader."
"Impostata su vero abilita le foglie ondeggianti. (Necessita l'attivazione "
"degli shader)"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -6504,11 +6520,10 @@ msgstr ""
"Necessita l'attivazione degli shader."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Set to true to enable waving plants."
msgstr ""
"Impostata su vero abilita le piante ondeggianti.\n"
"Necessita l'attivazione degli shader."
"Impostata su vero abilita le piante ondeggianti. (Necessita l'attivazione "
"degli shader.)"
#: src/settings_translation_file.cpp
msgid ""
@@ -6609,7 +6624,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Simulate translucency when looking at foliage in the sunlight."
msgstr ""
msgstr "Simula la translucidità osservando al fogliame esposto alla luce."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -6696,9 +6711,8 @@ msgid "Sneaking speed, in nodes per second."
msgstr "Velocità furtiva, in nodi al secondo."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Soft clouds"
msgstr "Nuvole in 3D"
msgstr "Nuvole 3D"
#: src/settings_translation_file.cpp
msgid "Soft shadow radius"
@@ -6760,9 +6774,8 @@ msgstr ""
"Scostamento tipo dell'aumento della curva di luce gaussiano."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Static spawn point"
msgstr "Punto statico di comparsa"
msgstr "Punto statico di spawn"
#: src/settings_translation_file.cpp
msgid "Steepness noise"
@@ -6930,6 +6943,8 @@ msgid ""
"The delay in milliseconds after which a touch interaction is considered a "
"long tap."
msgstr ""
"Il ritardo in millisecondi dopo il quale un'interazione tattile è "
"considerata una pressione prolungata."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -7001,14 +7016,13 @@ msgstr ""
"Il valore predefinito è 1.0 (1/2 nodo)."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"The minimum time in seconds it takes between digging nodes when holding\n"
"the dig button."
msgstr ""
"Il tempo in secondi che intercorre tra il piazzamento dei nodi quando si "
"Il tempo in secondi che intercorre tra la rimozione dei nodi quando si "
"tiene\n"
"premuto il pulsante piazza."
"premuto il pulsante scava."
#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."

View File

@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: Polish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-07-06 11:01+0000\n"
"Last-Translator: nauta-turbidus <wiktor-t@hotmail.com>\n"
"PO-Revision-Date: 2025-09-29 16:02+0000\n"
"Last-Translator: Karol1165 <kutkarol1165@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/minetest/minetest/"
"pl/>\n"
"Language: pl\n"
@@ -13,7 +13,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.13-dev\n"
"X-Generator: Weblate 5.14-dev\n"
#: builtin/client/chatcommands.lua
msgid "Clear the out chat queue"
@@ -1380,9 +1380,9 @@ msgid "Rebuilding shaders..."
msgstr "Przebudowywanie shaderów..."
#: src/client/client.cpp
#, fuzzy, c-format
#, c-format
msgid "Saved screenshot to \"%s\""
msgstr "Zrzuty ekranu"
msgstr "Wykonano zrzut ekranu do ”%s”"
#: src/client/clientlauncher.cpp
msgid "Could not find or load game: "

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Portuguese (Brazil) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-09-07 00:02+0000\n"
"PO-Revision-Date: 2025-09-26 22:02+0000\n"
"Last-Translator: Neil Rizen <danielsmmelo@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"minetest/minetest/pt_BR/>\n"
@@ -580,7 +580,7 @@ msgstr "Instalar [$1]"
#: builtin/mainmenu/content/dlg_package.lua
msgid "Issue Tracker"
msgstr "Sugerir Tópico"
msgstr "Rastreador de Problemas"
#: builtin/mainmenu/content/dlg_package.lua
msgid "Reviews"
@@ -1728,7 +1728,7 @@ msgstr "Nome do servidor: "
#: src/client/game_formspec.cpp
msgid "Change Password"
msgstr "Alterar a senha"
msgstr "Alterar a Senha"
#: src/client/game_formspec.cpp
msgid "Continue"
@@ -1865,19 +1865,16 @@ msgid "Down Arrow"
msgstr "Seta para Baixo"
#: src/client/keycode.cpp
#, fuzzy
msgid "End Key"
msgstr "Tecla Menu"
msgstr "Tecla End"
#: src/client/keycode.cpp
#, fuzzy
msgid "Help Key"
msgstr "Tecla Delete"
msgstr "Tecla Help"
#: src/client/keycode.cpp
#, fuzzy
msgid "Home Key"
msgstr "Tecla de Zoom"
msgstr "Tecla Home"
#: src/client/keycode.cpp
msgid "Insert"
@@ -1888,9 +1885,8 @@ msgid "Left Arrow"
msgstr "Seta Esquerda"
#: src/client/keycode.cpp
#, fuzzy
msgid "Left Click"
msgstr "Ctrl Esquerdo"
msgstr "Clique Esquerdo"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1915,15 +1911,15 @@ msgstr "Tecla Menu"
#: src/client/keycode.cpp
msgid "Middle Click"
msgstr ""
msgstr "Clique do Meio"
#: src/client/keycode.cpp
msgid "Mouse X1"
msgstr ""
msgstr "Mouse X1"
#: src/client/keycode.cpp
msgid "Mouse X2"
msgstr ""
msgstr "Mouse X2"
#: src/client/keycode.cpp
msgid "Num Lock"
@@ -2020,9 +2016,8 @@ msgid "Right Arrow"
msgstr "Seta Direita"
#: src/client/keycode.cpp
#, fuzzy
msgid "Right Click"
msgstr "Ctrl direito"
msgstr "Clique Direito"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -2046,9 +2041,8 @@ msgid "Scroll Lock"
msgstr "Scroll Lock"
#: src/client/keycode.cpp
#, fuzzy
msgid "Select Key"
msgstr "Tecla Delete"
msgstr "Tecla Select"
#: src/client/keycode.cpp
msgid "Shift Key"
@@ -2059,9 +2053,8 @@ msgid "Space"
msgstr "Espaço"
#: src/client/keycode.cpp
#, fuzzy
msgid "Tab Key"
msgstr "Tecla de Parar"
msgstr "Tecla Tab"
#: src/client/keycode.cpp
msgid "Up Arrow"
@@ -2497,7 +2490,6 @@ msgid "3D noise that determines number of dungeons per mapchunk."
msgstr "Ruído 3D que determina o número de cavernas por pedaço de mapa."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -2510,10 +2502,9 @@ msgstr ""
"Suporte 3D.\n"
"Modos atualmente suportados:\n"
"- none: Nenhum efeito 3D.\n"
"- anaglyph: Sistema de cor Ciano/Magenta (Óculos 3D azul vermelho).\n"
"- interlaced: Sistema interlaçado (Óculos com lentes polarizadas).\n"
"- topbottom: Divide a tela em duas: uma em cima e outra em baixo.\n"
"- sidebyside: Divide a tela em duas: lado a lado.\n"
"- anaglyph: 3D com cores ciano/magenta.\n"
"- topbottom: Divide a tela em cima/embaixo.\n"
"- sidebyside: Divide a tela lado a lado.\n"
"- crossview: 3D de olhos cruzados"
#: src/settings_translation_file.cpp
@@ -2888,7 +2879,7 @@ msgstr "Suavização da câmera no modo cinematográfico"
#: src/settings_translation_file.cpp
msgid "Capture Tracy zones"
msgstr ""
msgstr "Capturar zonas de Tracy"
#: src/settings_translation_file.cpp
msgid ""
@@ -2896,6 +2887,9 @@ msgid ""
"You need to build with Tracy to use this, see doc/developing/profiling.md\n"
"for details."
msgstr ""
"Capture zonas de Tracy com o uso do analisador.\n"
"Você precisa ativar o Tracy para usar isso.\n"
"Veja doc/developing/profiling.md para mais detalhes."
#: src/settings_translation_file.cpp
msgid "Cave noise"
@@ -3453,7 +3447,7 @@ msgstr "Opções de Desenvolvedor"
#: src/settings_translation_file.cpp
msgid "Disable if you only want to instrument with Tracy."
msgstr ""
msgstr "Desative se você quiser instrumentar com apenas o Tracy."
#: src/settings_translation_file.cpp
msgid "Disallow empty passwords"
@@ -4856,7 +4850,7 @@ msgstr "Threshold dos lagos no gerador de mundo plano"
#: src/settings_translation_file.cpp
msgid "Language"
msgstr "Linguagem"
msgstr "Idioma"
#: src/settings_translation_file.cpp
msgid "Large cave depth"
@@ -5439,9 +5433,8 @@ msgid "Maximum users"
msgstr "Limite de usuários"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Measure time samples"
msgstr "Templos do deserto"
msgstr "Medir amostras de tempo"
#: src/settings_translation_file.cpp
msgid "Message of the day"

View File

@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: Ukrainian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-08-14 09:02+0000\n"
"Last-Translator: Yof <Yof@users.noreply.hosted.weblate.org>\n"
"PO-Revision-Date: 2025-09-29 16:02+0000\n"
"Last-Translator: Tarás Lavrentiev <fromkaniv@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/minetest/"
"minetest/uk/>\n"
"Language: 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.13-dev\n"
"X-Generator: Weblate 5.14-dev\n"
#: builtin/client/chatcommands.lua
msgid "Clear the out chat queue"
@@ -975,7 +975,7 @@ msgstr "Назва відсутня"
#: builtin/mainmenu/dlg_register.lua builtin/mainmenu/tab_local.lua
#: builtin/mainmenu/tab_online.lua
msgid "Name"
msgstr "Ім'я"
msgstr "Назва"
#: builtin/mainmenu/dlg_register.lua builtin/mainmenu/tab_local.lua
#: builtin/mainmenu/tab_online.lua
@@ -1093,7 +1093,7 @@ msgstr ""
#: builtin/mainmenu/tab_about.lua
msgid "About"
msgstr "Про рушій"
msgstr "Про це"
#: builtin/mainmenu/tab_about.lua
msgid "Active Contributors"
@@ -1855,19 +1855,16 @@ msgid "Down Arrow"
msgstr "Вниз"
#: src/client/keycode.cpp
#, fuzzy
msgid "End Key"
msgstr "Menu"
msgstr "Клавіша End"
#: src/client/keycode.cpp
#, fuzzy
msgid "Help Key"
msgstr "Delete"
msgstr "Клавіша Допомоги"
#: src/client/keycode.cpp
#, fuzzy
msgid "Home Key"
msgstr "Zoom"
msgstr "Клавіша Домівки"
#: src/client/keycode.cpp
msgid "Insert"
@@ -1878,9 +1875,8 @@ msgid "Left Arrow"
msgstr "Вліво"
#: src/client/keycode.cpp
#, fuzzy
msgid "Left Click"
msgstr "Лівий Ctrl"
msgstr "Лівий клік"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1905,15 +1901,15 @@ msgstr "Menu"
#: src/client/keycode.cpp
msgid "Middle Click"
msgstr ""
msgstr "Середній клік"
#: src/client/keycode.cpp
msgid "Mouse X1"
msgstr ""
msgstr "Миша X1"
#: src/client/keycode.cpp
msgid "Mouse X2"
msgstr ""
msgstr "Миша X2"
#: src/client/keycode.cpp
msgid "Num Lock"
@@ -2010,9 +2006,8 @@ msgid "Right Arrow"
msgstr "Вправо"
#: src/client/keycode.cpp
#, fuzzy
msgid "Right Click"
msgstr "Правий Ctrl"
msgstr "Правий клік"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -2036,9 +2031,8 @@ msgid "Scroll Lock"
msgstr "Scroll Lock"
#: src/client/keycode.cpp
#, fuzzy
msgid "Select Key"
msgstr "Delete"
msgstr "Клавіша Select"
#: src/client/keycode.cpp
msgid "Shift Key"
@@ -2049,9 +2043,8 @@ msgid "Space"
msgstr "Пробіл"
#: src/client/keycode.cpp
#, fuzzy
msgid "Tab Key"
msgstr "Break"
msgstr "Клавіша Tab"
#: src/client/keycode.cpp
msgid "Up Arrow"
@@ -2478,7 +2471,6 @@ msgid "3D noise that determines number of dungeons per mapchunk."
msgstr "3D шум що визначає кількість підземель на фрагмент мапи."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -2492,7 +2484,6 @@ msgstr ""
"Зараз підтримуються:\n"
"- none: 3d вимкнено.\n"
"- anaglyph: 3d з блакитно-пурпурними кольорами.\n"
"- interlaced: підтримка полярізаційних екранів.\n"
"- topbottom: поділ екрану вертикально.\n"
"- sidebyside: поділ екрану горизонтально.\n"
"- crossview: 3d на основі автостереограми"
@@ -2860,7 +2851,7 @@ msgstr "Згладжування руху камери у кінорежимі"
#: src/settings_translation_file.cpp
msgid "Capture Tracy zones"
msgstr ""
msgstr "Зона захоплення Tracy"
#: src/settings_translation_file.cpp
msgid ""
@@ -2868,6 +2859,10 @@ msgid ""
"You need to build with Tracy to use this, see doc/developing/profiling.md\n"
"for details."
msgstr ""
"Захоплюйте зони Tracy за допомогою інструментації профайлера.\n"
"Вам потрібно збудувати з Tracy, щоб використовувати це, див. doc/developing/"
"profiling.md\n"
"для деталей."
#: src/settings_translation_file.cpp
msgid "Cave noise"
@@ -3423,7 +3418,7 @@ msgstr "Розробницькі налаштування"
#: src/settings_translation_file.cpp
msgid "Disable if you only want to instrument with Tracy."
msgstr ""
msgstr "Вимкніть, якщо ви хочете лише інструментувати з Tracy."
#: src/settings_translation_file.cpp
msgid "Disallow empty passwords"
@@ -5362,9 +5357,8 @@ msgid "Maximum users"
msgstr "Найбільше користувачів"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Measure time samples"
msgstr "Пустельні храми"
msgstr "Вимірювання зразків часу"
#: src/settings_translation_file.cpp
msgid "Message of the day"
@@ -6037,7 +6031,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Screenshots"
msgstr "Знімки екрана"
msgstr "Скріншоти"
#: src/settings_translation_file.cpp
msgid "Seabed noise"

View File

@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: Vietnamese (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-05-30 05:02+0000\n"
"Last-Translator: Quốc Kiệt Nguyễn Hữu <huuquockietn@tutamail.com>\n"
"PO-Revision-Date: 2025-09-24 12:28+0000\n"
"Last-Translator: dvchd <dvcuong.honda@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/minetest/"
"minetest/vi/>\n"
"Language: vi\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.12-dev\n"
"X-Generator: Weblate 5.14-dev\n"
#: builtin/client/chatcommands.lua
msgid "Clear the out chat queue"
@@ -74,9 +74,8 @@ msgstr ""
"'.help all' để xem danh sách về những câu lệnh có sẵn."
#: builtin/common/chatcommands.lua
#, fuzzy
msgid "[all | <cmd>] [-t]"
msgstr "[all | <câu lệnh>]"
msgstr "[all | <câu lệnh>] [-t]"
#: builtin/common/settings/components.lua
msgid "Browse"
@@ -91,9 +90,8 @@ msgid "Edit"
msgstr "Chỉnh sửa"
#: builtin/common/settings/components.lua
#, fuzzy
msgid "Remove keybinding"
msgstr "Liên kết phím."
msgstr "Loại bỏ phím liên kết"
#: builtin/common/settings/components.lua
msgid "Select directory"

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Chinese (Simplified) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-08-09 01:02+0000\n"
"PO-Revision-Date: 2025-09-30 20:02+0000\n"
"Last-Translator: maxchen32 <maxchen32@users.noreply.hosted.weblate.org>\n"
"Language-Team: Chinese (Simplified Han script) <https://hosted.weblate.org/"
"projects/minetest/minetest/zh_Hans/>\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.13-dev\n"
"X-Generator: Weblate 5.14-dev\n"
#: builtin/client/chatcommands.lua
msgid "Clear the out chat queue"
@@ -1204,7 +1204,7 @@ msgstr "Luanti 不自带任何子游戏。"
msgid ""
"Luanti is a game-creation platform that allows you to play many different "
"games."
msgstr "Luanti 是一游戏创作平台,可让你游玩各类游戏。"
msgstr "Luanti 是一游戏创作平台,可让你游玩各类游戏。"
#: builtin/mainmenu/tab_local.lua
msgid "New"
@@ -1839,19 +1839,17 @@ msgid "Down Arrow"
msgstr "⇩"
#: src/client/keycode.cpp
#, fuzzy
msgid "End Key"
msgstr "菜单键"
msgstr "End键"
#: src/client/keycode.cpp
#, fuzzy
msgid "Help Key"
msgstr "删除键"
msgstr "帮助键"
#: src/client/keycode.cpp
#, fuzzy
msgid "Home Key"
msgstr "缩放"
msgstr "Home键"
#: src/client/keycode.cpp
msgid "Insert"
@@ -1862,9 +1860,8 @@ msgid "Left Arrow"
msgstr "⇦"
#: src/client/keycode.cpp
#, fuzzy
msgid "Left Click"
msgstr "左Control键"
msgstr "鼠标左键"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1889,15 +1886,15 @@ msgstr "菜单键"
#: src/client/keycode.cpp
msgid "Middle Click"
msgstr ""
msgstr "鼠标中键"
#: src/client/keycode.cpp
msgid "Mouse X1"
msgstr ""
msgstr "鼠标X1键"
#: src/client/keycode.cpp
msgid "Mouse X2"
msgstr ""
msgstr "鼠标X2键"
#: src/client/keycode.cpp
msgid "Num Lock"
@@ -1994,9 +1991,8 @@ msgid "Right Arrow"
msgstr "⇨"
#: src/client/keycode.cpp
#, fuzzy
msgid "Right Click"
msgstr "右Control键"
msgstr "鼠标右键"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -2033,9 +2029,8 @@ msgid "Space"
msgstr "空格"
#: src/client/keycode.cpp
#, fuzzy
msgid "Tab Key"
msgstr "取消键"
msgstr "Tab键"
#: src/client/keycode.cpp
msgid "Up Arrow"
@@ -2452,7 +2447,6 @@ msgid "3D noise that determines number of dungeons per mapchunk."
msgstr "确定每个地图块的地牢数量的3D噪声。"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -2466,7 +2460,6 @@ msgstr ""
"目前已支持:\n"
"- 无 (none):无 3D 输出。\n"
"- 色差式 (anaglyph):红蓝眼镜 3D。\n"
"- 偏振式 (interlaced):基于奇偶行的偏振屏支持。\n"
"- 上下分屏 (topbottom):将画面分为上下两部分。\n"
"- 左右分屏 (sidebyside):将画面分为左右两部分。\n"
"- 斜视 (crossview):斜视左右分屏 3D"
@@ -2680,13 +2673,12 @@ msgid ""
"optimization.\n"
"Stated in MapBlocks (16 nodes)."
msgstr ""
"在此距离下,服务器积极优化将哪些块发送到客户端。\n"
"小数值可能会极大地提高性能,\n"
"会造成可见的渲染故障。\n"
"有些方块将不会在水和洞穴中呈现,\n"
"有时在陆地上也不会呈现)\n"
"将其设置为大于 max_block_send_distance 的值\n"
"将禁用此优化。\n"
"在此距离下,服务器积极优化将哪些块发送到客户端。\n"
"小数值可能大幅提升性能,\n"
"代价是会造成可见的渲染异常\n"
"洞穴中的部分区块可能无法正确渲染)。\n"
"若将其设置为大于 max_block_send_distance 的值\n"
"则会禁用此优化。\n"
"以 MapBlocks16 个方块)为单位。"
#: src/settings_translation_file.cpp
@@ -3632,7 +3624,9 @@ msgstr ""
msgid ""
"Enables tradeoffs that reduce CPU load or increase rendering performance\n"
"at the expense of minor visual glitches that do not impact game playability."
msgstr "允许不影响可玩性的轻微视觉错误,以此减少 CPU 负载,或提高渲染性能。"
msgstr ""
"允许不影响可玩性的轻微视觉错误,\n"
"以此减少 CPU 负载,或提高渲染性能。"
#: src/settings_translation_file.cpp
msgid "Engine Profiler"
@@ -4300,7 +4294,7 @@ msgstr ""
msgid ""
"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n"
"enabled."
msgstr "如果禁用“Aux1”键将用于快速飞行(飞行和快速模式同时启用)。"
msgstr "如果禁用“Aux1”键将用于快速飞行(如果飞行和快速模式同时启用。"
#: src/settings_translation_file.cpp
msgid ""
@@ -4308,8 +4302,8 @@ msgid ""
"ContentDB to\n"
"check for package updates when opening the mainmenu."
msgstr ""
"如果启用并且安装了 ContentDB 包,Luanti 可能会在打开主菜单时联系 ContentDB "
"检查包更新。"
"如果启用此选项并且安装了 ContentDB 包,\n"
"Luanti 可能会在打开主菜单时连接 ContentDB 检查包更新。"
#: src/settings_translation_file.cpp
msgid ""
@@ -4626,7 +4620,7 @@ msgstr "跳跃速度"
#: src/settings_translation_file.cpp
msgid "Key for decrementing the selected value in Quicktune."
msgstr ""
msgstr "用于在 Quicktune 中降低已选变量的数值的按键。"
#: src/settings_translation_file.cpp
msgid ""
@@ -4638,7 +4632,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Key for incrementing the selected value in Quicktune."
msgstr ""
msgstr "用于在 Quicktune 中提高已选变量的数值的按键。"
#: src/settings_translation_file.cpp
msgid "Key for moving fast in fast mode."
@@ -4970,7 +4964,6 @@ msgid "Map generation attributes specific to Mapgen v5."
msgstr "针对v5地图生成器的属性。"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
@@ -4980,9 +4973,10 @@ msgid ""
"will appear instead."
msgstr ""
"针对v6地图生成器的属性。\n"
"'snowboimes'启用新版5生物群系系统。\n"
"当'snowbiomes'开启使丛林自动启用,\n"
"忽略'jungles'标签。"
"'snowboimes' 启用新版5生物群系系统。\n"
"当 'snowbiomes' 开启时,丛林自动启用,\n"
"忽略 'jungles' 标签。\n"
"启用 'temples' 标签将禁止沙漠神庙生成,取而代之的是普通地牢。"
#: src/settings_translation_file.cpp
msgid ""
@@ -5694,11 +5688,11 @@ msgstr "打击手势"
#: src/settings_translation_file.cpp
msgid "Quicktune: decrement value"
msgstr ""
msgstr "Quicktune降低变量数值"
#: src/settings_translation_file.cpp
msgid "Quicktune: increment value"
msgstr ""
msgstr "Quicktune提高变量数值"
#: src/settings_translation_file.cpp
msgid "Quicktune: select next entry"
@@ -7351,11 +7345,8 @@ msgid "Width of the selection box lines around nodes."
msgstr "结点周围的选择框的线宽。"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Will also disable autoforward, when active."
msgstr ""
"后退键。\n"
"在按下时也会取消自动前进。"
msgstr "在按下时也会取消自动前进。"
#: src/settings_translation_file.cpp
msgid "Window maximized"

View File

@@ -13,12 +13,14 @@ pkgs.mkShell {
pkgs.libjpeg
pkgs.libpng
pkgs.libGL
pkgs.luajit
pkgs.SDL2
pkgs.openal
pkgs.curl
pkgs.libvorbis
pkgs.libogg
pkgs.gettext
pkgs.gmp
pkgs.freetype
pkgs.sqlite
];

View File

@@ -523,7 +523,7 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
// The authentication methods we can use to enter sudo mode (=change password)
u32 m_sudo_auth_methods;
// The seed returned by the server in TOCLIENT_INIT is stored here
// The seed returned by the server in TOCLIENT_AUTH_ACCEPT is stored here
u64 m_map_seed = 0;
// Auth data

View File

@@ -3871,8 +3871,6 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode)
fields[name] = table->checkEvent();
}
} else if (s.ftype == f_DropDown) {
// No dynamic cast possible due to some distributions shipped
// without rtti support in Irrlicht
IGUIElement *element = getElementFromId(s.fid, true);
gui::IGUIComboBox *e = NULL;
if ((element) && (element->getType() == gui::EGUIET_COMBO_BOX)) {
@@ -3895,8 +3893,6 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode)
}
}
} else if (s.ftype == f_TabHeader) {
// No dynamic cast possible due to some distributions shipped
// without rtti support in Irrlicht
IGUIElement *element = getElementFromId(s.fid, true);
gui::IGUITabControl *e = nullptr;
if ((element) && (element->getType() == gui::EGUIET_TAB_CONTROL)) {
@@ -3907,8 +3903,6 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode)
fields[name] = itos(e->getActiveTab() + 1);
}
} else if (s.ftype == f_CheckBox) {
// No dynamic cast possible due to some distributions shipped
// without rtti support in Irrlicht
IGUIElement *element = getElementFromId(s.fid, true);
gui::IGUICheckBox *e = nullptr;
if ((element) && (element->getType() == gui::EGUIET_CHECK_BOX)) {
@@ -3922,11 +3916,9 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode)
fields[name] = "false";
}
} else if (s.ftype == f_ScrollBar) {
// No dynamic cast possible due to some distributions shipped
// without rtti support in Irrlicht
IGUIElement *element = getElementFromId(s.fid, true);
GUIScrollBar *e = nullptr;
if (element && element->getType() == gui::EGUIET_ELEMENT)
if (element && element->getType() == gui::EGUIET_SCROLL_BAR)
e = static_cast<GUIScrollBar *>(element);
if (e) {
@@ -3936,8 +3928,6 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode)
fields[name] = "VAL:" + itos(e->getPos());
}
} else if (s.ftype == f_AnimatedImage) {
// No dynamic cast possible due to some distributions shipped
// without rtti support in Irrlicht
IGUIElement *element = getElementFromId(s.fid, true);
GUIAnimatedImage *e = nullptr;
if (element && element->getType() == gui::EGUIET_ELEMENT)

View File

@@ -165,6 +165,7 @@ class Mapgen {
u32 blockseed;
s16 *heightmap = nullptr;
biome_t *biomemap = nullptr;
// Chunk size in nodes
v3s16 csize;
BiomeGen *biomegen = nullptr;

View File

@@ -49,7 +49,7 @@ MapgenV6::MapgenV6(MapgenV6Params *params, EmergeParams *emerge)
// (5,2,5) generates very broken terrain
throw BaseException("MapgenV6: chunk size must be cubic");
}
if (csize.Y % 2 == 0) {
if (csize.Y % (MAP_BLOCKSIZE * 2) == 0) {
// weird ledges appear in some places
warningstream << "MapgenV6: chunk heights divisible by two are known "
"to be buggy." << std::endl;

View File

@@ -192,7 +192,7 @@ void Client::handleCommand_AccessDenied(NetworkPacket* pkt)
{
// The server didn't like our password. Note, this needs
// to be processed even if the serialization format has
// not been agreed yet, the same as TOCLIENT_INIT.
// not been agreed yet, the same as TOCLIENT_AUTH_ACCEPT.
m_access_denied = true;
if (pkt->getCommand() != TOCLIENT_ACCESS_DENIED) {

View File

@@ -123,7 +123,8 @@ class RemotePlayer : public Player
bool inventory_formspec_overridden = false;
/// returns PEER_ID_INEXISTENT when PlayerSAO is not ready
/// returns PEER_ID_INEXISTENT when PlayerSAO is either
/// not yet present or about to be removed (e.g. leave).
session_t getPeerId() const { return m_peer_id; }
void setPeerId(session_t peer_id) { m_peer_id = peer_id; }

View File

@@ -1618,7 +1618,7 @@ void Server::SendSpawnParticles(RemotePlayer *player,
const float radius_sq = radius * radius;
PlayerSAO *sao = player->getPlayerSAO();
if (!sao)
if (!sao || sao->isGone())
return;
std::ostringstream particle_batch_data(std::ios_base::binary);

View File

@@ -50,6 +50,8 @@ PlayerSAO::PlayerSAO(ServerEnvironment *env_, RemotePlayer *player_, session_t p
m_armor_groups["immortal"] = 1;
}
// PlayerSAO::~PlayerSAO(): eventually deleted by `ActiveObjectMgr::removeObject`
void PlayerSAO::finalize(RemotePlayer *player, const std::set<std::string> &privs)
{
assert(player);

View File

@@ -339,7 +339,9 @@ void ServerMap::finishBlockMake(BlockMakeData *data,
/* Border blocks are grabbed during
generation but mustn't be marked generated. */
if (bp >= bpmin && bp <= bpmax) {
if (bp.X >= bpmin.X && bp.X <= bpmax.X
&& bp.Y >= bpmin.Y && bp.Y <= bpmax.Y
&& bp.Z >= bpmin.Z && bp.Z <= bpmax.Z) {
block->setGenerated(true);
// Set timestamp to ensure correct application
// of LBMs and other stuff.