From d7e06348db8e5aa0a450fbf45d73cdc3c8e9f271 Mon Sep 17 00:00:00 2001
From: James Valleroy
Date: Tue, 9 Dec 2025 11:01:26 -0500
Subject: [PATCH 01/24] vagrant: Enable EFI firmware
Tests:
- Bring up vagrant box version 25.16. Able to access the web interface
after setup is complete.
Signed-off-by: James Valleroy
Reviewed-by: Sunil Mohan Adapa
---
Vagrantfile | 1 +
1 file changed, 1 insertion(+)
diff --git a/Vagrantfile b/Vagrantfile
index e7dedefbc..366097b57 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -13,6 +13,7 @@ Vagrant.configure(2) do |config|
vb.cpus = Etc.nprocessors
vb.memory = 2048
vb.linked_clone = true
+ vb.customize ["modifyvm", :id, "--firmware", "efi"]
end
config.vm.provision "shell", run: 'always', inline: <<-SHELL
# Disable automatic upgrades
From c0bbebd53b9e416d545243df3640952ac3274778 Mon Sep 17 00:00:00 2001
From: Burak Yavuz
Date: Tue, 9 Dec 2025 08:47:42 +0100
Subject: [PATCH 02/24] Translated using Weblate (Turkish)
Currently translated at 100.0% (1880 of 1880 strings)
---
plinth/locale/tr/LC_MESSAGES/django.po | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/plinth/locale/tr/LC_MESSAGES/django.po b/plinth/locale/tr/LC_MESSAGES/django.po
index bc403291b..47a5f8304 100644
--- a/plinth/locale/tr/LC_MESSAGES/django.po
+++ b/plinth/locale/tr/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-11-12 07:51+0000\n"
+"PO-Revision-Date: 2025-12-10 06:00+0000\n"
"Last-Translator: Burak Yavuz \n"
"Language-Team: Turkish \n"
@@ -10763,25 +10763,21 @@ msgstr "Tüm etiketleri temizle"
#: plinth/templates/theme-menu.html:8
msgid "Toggle theme (auto)"
-msgstr ""
+msgstr "Temayı değiştir (otomatik)"
#: plinth/templates/theme-menu.html:14
msgid "Toggle theme"
-msgstr ""
+msgstr "Temayı değiştir"
#: plinth/templates/theme-menu.html:23
-#, fuzzy
-#| msgid "Weight"
msgid "Light"
-msgstr "Ağırlık"
+msgstr "Açık"
#: plinth/templates/theme-menu.html:32
msgid "Dark"
-msgstr ""
+msgstr "Koyu"
#: plinth/templates/theme-menu.html:41
-#, fuzzy
-#| msgid "Automatic"
msgid "Auto"
msgstr "Otomatik"
From 0f1276fbaeb8982728f2eaef0e614a782787e986 Mon Sep 17 00:00:00 2001
From: Besnik Bleta
Date: Tue, 9 Dec 2025 12:34:10 +0100
Subject: [PATCH 03/24] Translated using Weblate (Albanian)
Currently translated at 99.6% (1873 of 1880 strings)
---
plinth/locale/sq/LC_MESSAGES/django.po | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/plinth/locale/sq/LC_MESSAGES/django.po b/plinth/locale/sq/LC_MESSAGES/django.po
index 08086c171..eb69fd39d 100644
--- a/plinth/locale/sq/LC_MESSAGES/django.po
+++ b/plinth/locale/sq/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-11-12 07:51+0000\n"
+"PO-Revision-Date: 2025-12-10 06:00+0000\n"
"Last-Translator: Besnik Bleta \n"
"Language-Team: Albanian \n"
@@ -10839,18 +10839,14 @@ msgid "Toggle theme"
msgstr ""
#: plinth/templates/theme-menu.html:23
-#, fuzzy
-#| msgid "Weight"
msgid "Light"
-msgstr "Madhësi"
+msgstr "E çelët"
#: plinth/templates/theme-menu.html:32
msgid "Dark"
msgstr ""
#: plinth/templates/theme-menu.html:41
-#, fuzzy
-#| msgid "Automatic"
msgid "Auto"
msgstr "Automatike"
From f9c2bec79f67460592c698d81a797eb4dd294fbc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?=
=?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?=
Date: Tue, 9 Dec 2025 15:42:41 +0100
Subject: [PATCH 04/24] Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1880 of 1880 strings)
---
plinth/locale/uk/LC_MESSAGES/django.po | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/plinth/locale/uk/LC_MESSAGES/django.po b/plinth/locale/uk/LC_MESSAGES/django.po
index f073add16..65ab2f8fe 100644
--- a/plinth/locale/uk/LC_MESSAGES/django.po
+++ b/plinth/locale/uk/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-11-12 07:51+0000\n"
+"PO-Revision-Date: 2025-12-10 06:00+0000\n"
"Last-Translator: Максим Горпиніч \n"
"Language-Team: Ukrainian \n"
@@ -10753,27 +10753,23 @@ msgstr "Очистити всі теги"
#: plinth/templates/theme-menu.html:8
msgid "Toggle theme (auto)"
-msgstr ""
+msgstr "Перемикання теми (авто)"
#: plinth/templates/theme-menu.html:14
msgid "Toggle theme"
-msgstr ""
+msgstr "Перемкнути тему"
#: plinth/templates/theme-menu.html:23
-#, fuzzy
-#| msgid "Weight"
msgid "Light"
-msgstr "Вага"
+msgstr "Світло"
#: plinth/templates/theme-menu.html:32
msgid "Dark"
-msgstr ""
+msgstr "Темний"
#: plinth/templates/theme-menu.html:41
-#, fuzzy
-#| msgid "Automatic"
msgid "Auto"
-msgstr "Автоматично"
+msgstr "Авто"
#: plinth/templates/toolbar.html:39 plinth/templates/toolbar.html:40
msgid "View Logs"
From afefa4010d467fb49941299afe8d23da5f7c655e Mon Sep 17 00:00:00 2001
From: 109247019824 <109247019824@users.noreply.hosted.weblate.org>
Date: Tue, 9 Dec 2025 23:20:07 +0100
Subject: [PATCH 05/24] Translated using Weblate (Bulgarian)
Currently translated at 57.1% (1075 of 1880 strings)
---
plinth/locale/bg/LC_MESSAGES/django.po | 54 +++++++++++++-------------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/plinth/locale/bg/LC_MESSAGES/django.po b/plinth/locale/bg/LC_MESSAGES/django.po
index be5bba0aa..c4da62452 100644
--- a/plinth/locale/bg/LC_MESSAGES/django.po
+++ b/plinth/locale/bg/LC_MESSAGES/django.po
@@ -8,9 +8,9 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-09-24 03:02+0000\n"
-"Last-Translator: 109247019824 "
-"<109247019824@users.noreply.hosted.weblate.org>\n"
+"PO-Revision-Date: 2025-12-10 06:00+0000\n"
+"Last-Translator: 109247019824 <109247019824@users.noreply.hosted.weblate.org>"
+"\n"
"Language-Team: Bulgarian \n"
"Language: bg\n"
@@ -18,7 +18,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.14-dev\n"
+"X-Generator: Weblate 5.15-dev\n"
#: plinth/config.py:103
#, python-brace-format
@@ -1608,6 +1608,7 @@ msgid ""
"This app also shows the logs for {box_name} "
"services."
msgstr ""
+"Приложението също показва дневника на {box_name}."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
@@ -1739,7 +1740,7 @@ msgstr "Приложение: %(app_name)s"
#: plinth/modules/diagnostics/templates/diagnostics_app.html:21
#: plinth/modules/diagnostics/templates/diagnostics_full.html:85
msgid "Try to repair"
-msgstr ""
+msgstr "Опит за поправка"
#: plinth/modules/diagnostics/templates/diagnostics_app.html:29
msgid "This app does not support diagnostics"
@@ -1764,31 +1765,31 @@ msgstr "Резултати"
#: plinth/modules/diagnostics/templates/diagnostics_full.html:53
#, python-format
msgid "%(number)s passed"
-msgstr ""
+msgstr "%(number)s преминали"
#: plinth/modules/diagnostics/templates/diagnostics_full.html:57
#, python-format
msgid "%(number)s failed"
-msgstr ""
+msgstr "%(number)s непреминали"
#: plinth/modules/diagnostics/templates/diagnostics_full.html:61
#, python-format
msgid "%(number)s warnings"
-msgstr ""
+msgstr "%(number)s предупреждения"
#: plinth/modules/diagnostics/templates/diagnostics_full.html:65
#, python-format
msgid "%(number)s errors"
-msgstr ""
+msgstr "%(number)s грешки"
#: plinth/modules/diagnostics/templates/diagnostics_full.html:69
#, python-format
msgid "%(number)s skipped"
-msgstr ""
+msgstr "%(number)s пропуснати"
#: plinth/modules/diagnostics/templates/diagnostics_full.html:111
msgid "Running..."
-msgstr ""
+msgstr "Работи…"
#: plinth/modules/diagnostics/templates/diagnostics_results.html:11
msgid "Test"
@@ -1806,7 +1807,7 @@ msgstr "Диагностична проверка"
#: plinth/modules/diagnostics/views.py:146
#, python-brace-format
msgid "App {app_id} is not installed, cannot repair"
-msgstr ""
+msgstr "Приложението {app_id} не е инсталирано и не може да бъде поправено"
#: plinth/modules/dynamicdns/__init__.py:29
#, python-brace-format
@@ -2696,15 +2697,15 @@ msgstr "Защитна стена"
#: plinth/modules/firewall/__init__.py:262
msgid "Default zone is external"
-msgstr ""
+msgstr "Подразбираната зона е външна"
#: plinth/modules/firewall/__init__.py:272
msgid "Firewall backend is nftables"
-msgstr ""
+msgstr "Защитната стена използва nftables"
#: plinth/modules/firewall/__init__.py:286
msgid "Direct passthrough rules exist"
-msgstr ""
+msgstr "Съществуват правила за директен път"
#: plinth/modules/firewall/components.py:139
#, python-brace-format
@@ -2803,14 +2804,16 @@ msgid ""
"Initial setup has been completed. Perform the next steps to make your "
"{box_name} operational."
msgstr ""
+"Първоначалната настройка е заеършена. Изпълнете следващите стъпки, за да "
+"въведете {box_name} експлоатация."
#: plinth/modules/first_boot/__init__.py:66
msgid "Next steps"
-msgstr ""
+msgstr "Следващи стъпки"
#: plinth/modules/first_boot/__init__.py:73
msgid "See next steps"
-msgstr ""
+msgstr "Преглед на следващите стъпки"
#: plinth/modules/first_boot/forms.py:14
#, python-brace-format
@@ -9949,11 +9952,12 @@ msgstr "В момента това приложение не е налично
#: plinth/templates/setup.html:51
msgid "Checking app availability..."
-msgstr ""
+msgstr "Провека наличие на приложението…"
#: plinth/templates/setup.html:57
msgid "Error checking app availability. Please refresh page."
msgstr ""
+"Грешка при проверяване на наличието на приложението. Презаредете страницата."
#: plinth/templates/setup.html:72
msgid ""
@@ -9979,25 +9983,21 @@ msgstr "Изчистване на всички етикети"
#: plinth/templates/theme-menu.html:8
msgid "Toggle theme (auto)"
-msgstr ""
+msgstr "Превключване на темата (автом.)"
#: plinth/templates/theme-menu.html:14
msgid "Toggle theme"
-msgstr ""
+msgstr "Превключване на темата"
#: plinth/templates/theme-menu.html:23
-#, fuzzy
-#| msgid "Weight"
msgid "Light"
-msgstr "Тежест"
+msgstr "Светла"
#: plinth/templates/theme-menu.html:32
msgid "Dark"
-msgstr ""
+msgstr "Тъмна"
#: plinth/templates/theme-menu.html:41
-#, fuzzy
-#| msgid "Automatic"
msgid "Auto"
msgstr "Автоматично"
@@ -10011,7 +10011,7 @@ msgstr "Резервно копие"
#: plinth/templates/toolbar.html:60
msgid "Re-run setup"
-msgstr ""
+msgstr "Повторно изпълнение на настройките"
#: plinth/templates/toolbar.html:66 plinth/templates/toolbar.html:67
#: plinth/templates/uninstall.html:30
From f1248e9e1ad7a2e75b836621a1adb4cee5c224e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Podhoreck=C3=BD?=
Date: Wed, 10 Dec 2025 08:00:58 +0100
Subject: [PATCH 06/24] Translated using Weblate (Czech)
Currently translated at 100.0% (1880 of 1880 strings)
---
plinth/locale/cs/LC_MESSAGES/django.po | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/plinth/locale/cs/LC_MESSAGES/django.po b/plinth/locale/cs/LC_MESSAGES/django.po
index fee26275f..5e00fc2f1 100644
--- a/plinth/locale/cs/LC_MESSAGES/django.po
+++ b/plinth/locale/cs/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-11-12 07:51+0000\n"
+"PO-Revision-Date: 2025-12-11 07:00+0000\n"
"Last-Translator: Jiří Podhorecký \n"
"Language-Team: Czech \n"
@@ -10708,27 +10708,23 @@ msgstr "Vymazat všechny štítky"
#: plinth/templates/theme-menu.html:8
msgid "Toggle theme (auto)"
-msgstr ""
+msgstr "Přepnout téma (automaticky)"
#: plinth/templates/theme-menu.html:14
msgid "Toggle theme"
-msgstr ""
+msgstr "Přepnout téma"
#: plinth/templates/theme-menu.html:23
-#, fuzzy
-#| msgid "Weight"
msgid "Light"
-msgstr "Váha"
+msgstr "Světlé"
#: plinth/templates/theme-menu.html:32
msgid "Dark"
-msgstr ""
+msgstr "Tmavé"
#: plinth/templates/theme-menu.html:41
-#, fuzzy
-#| msgid "Automatic"
msgid "Auto"
-msgstr "Automaticky"
+msgstr "Auto"
#: plinth/templates/toolbar.html:39 plinth/templates/toolbar.html:40
msgid "View Logs"
From 4cbbbed72b7eb68a8ddbbe561a28b014db52215f Mon Sep 17 00:00:00 2001
From: Besnik Bleta
Date: Wed, 10 Dec 2025 12:50:01 +0100
Subject: [PATCH 07/24] Translated using Weblate (Albanian)
Currently translated at 99.6% (1874 of 1880 strings)
---
plinth/locale/sq/LC_MESSAGES/django.po | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/plinth/locale/sq/LC_MESSAGES/django.po b/plinth/locale/sq/LC_MESSAGES/django.po
index eb69fd39d..5c7176d70 100644
--- a/plinth/locale/sq/LC_MESSAGES/django.po
+++ b/plinth/locale/sq/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-12-10 06:00+0000\n"
+"PO-Revision-Date: 2025-12-11 07:00+0000\n"
"Last-Translator: Besnik Bleta \n"
"Language-Team: Albanian \n"
@@ -10844,7 +10844,7 @@ msgstr "E çelët"
#: plinth/templates/theme-menu.html:32
msgid "Dark"
-msgstr ""
+msgstr "E errët"
#: plinth/templates/theme-menu.html:41
msgid "Auto"
From 5407f9c89d54ce4518cffce3a4dbb1a5d7fbd4bc Mon Sep 17 00:00:00 2001
From: 109247019824 <109247019824@users.noreply.hosted.weblate.org>
Date: Wed, 10 Dec 2025 08:37:16 +0100
Subject: [PATCH 08/24] Translated using Weblate (Bulgarian)
Currently translated at 57.5% (1081 of 1880 strings)
---
plinth/locale/bg/LC_MESSAGES/django.po | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/plinth/locale/bg/LC_MESSAGES/django.po b/plinth/locale/bg/LC_MESSAGES/django.po
index c4da62452..1f6c78797 100644
--- a/plinth/locale/bg/LC_MESSAGES/django.po
+++ b/plinth/locale/bg/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-12-10 06:00+0000\n"
+"PO-Revision-Date: 2025-12-11 07:00+0000\n"
"Last-Translator: 109247019824 <109247019824@users.noreply.hosted.weblate.org>"
"\n"
"Language-Team: Bulgarian software update "
"runs daily by default. For the first time, manually run it now."
msgstr ""
+"Автоматичното обновяване на "
+"софтуера се извършва по подразбиране всеки ден. Първият път го извършете "
+"на ръка."
#: plinth/modules/first_boot/templates/firstboot_complete.html:30
#: plinth/modules/upgrades/templates/upgrades_configure.html:119
@@ -2851,6 +2854,8 @@ msgstr "Обновяване"
msgid ""
"Review privacy options."
msgstr ""
+"Прегледайте поверителните "
+"настройки."
#: plinth/modules/first_boot/templates/firstboot_complete.html:49
#, python-format
@@ -2858,12 +2863,16 @@ msgid ""
"Review and setup network "
"connections. Change the default Wi-Fi password, if applicable."
msgstr ""
+"Прегледайте и настройте "
+"мрежвата свързаност. Сменете подразбираната парола за безжичната мрежа, "
+"ако е необходимо."
#: plinth/modules/first_boot/templates/firstboot_complete.html:60
#, python-format
msgid ""
"Configure a domain name."
msgstr ""
+"Настройте име на домейн."
#: plinth/modules/first_boot/templates/firstboot_complete.html:70
#, python-format
@@ -2871,6 +2880,8 @@ msgid ""
"Configure and schedule remote backups."
msgstr ""
+"Настройка и график на отдалечени резервни копия."
#: plinth/modules/first_boot/templates/firstboot_complete.html:81
#, python-format
@@ -2878,6 +2889,8 @@ msgid ""
"Put %(box_name)s to use by installing apps."
msgstr ""
+"Започнете да използвате %(box_name)s като инсталирате приложения."
#: plinth/modules/first_boot/templates/firstboot_welcome.html:29
msgid "Start Setup"
From 959d1e255433eeed242082520d84f48737141187 Mon Sep 17 00:00:00 2001
From: Benedek Nagy
Date: Fri, 12 Dec 2025 00:01:21 +0100
Subject: [PATCH 09/24] transmission: remove obsolete apache redirects
Tests:
- Install Transmission, apply the patch and confirm that the 409 conflict error,
that the redirects were originally meant for, is not reproducible anymore.
Fixes: #2502
Signed-off-by: Benedek Nagy
Reviewed-by: Sunil Mohan Adapa
---
plinth/modules/transmission/__init__.py | 4 ++--
.../apache2/conf-available/transmission-plinth.conf | 11 -----------
2 files changed, 2 insertions(+), 13 deletions(-)
diff --git a/plinth/modules/transmission/__init__.py b/plinth/modules/transmission/__init__.py
index eee46cebd..92ef05598 100644
--- a/plinth/modules/transmission/__init__.py
+++ b/plinth/modules/transmission/__init__.py
@@ -58,7 +58,7 @@ class TransmissionApp(app_module.App):
app_id = 'transmission'
- _version = 7
+ _version = 8
DAEMON = 'transmission-daemon'
@@ -110,7 +110,7 @@ class TransmissionApp(app_module.App):
webserver = Webserver('webserver-transmission', 'transmission-plinth',
urls=['https://{host}/transmission'],
- last_updated_version=6)
+ last_updated_version=8)
self.add(webserver)
daemon = Daemon(
diff --git a/plinth/modules/transmission/data/usr/share/freedombox/etc/apache2/conf-available/transmission-plinth.conf b/plinth/modules/transmission/data/usr/share/freedombox/etc/apache2/conf-available/transmission-plinth.conf
index b50c4be35..a1e98a55c 100644
--- a/plinth/modules/transmission/data/usr/share/freedombox/etc/apache2/conf-available/transmission-plinth.conf
+++ b/plinth/modules/transmission/data/usr/share/freedombox/etc/apache2/conf-available/transmission-plinth.conf
@@ -29,17 +29,6 @@
## redirect URLs, set cookies, set absolute URLs (if any)
## properly.
RequestHeader set X-Forwarded-Proto 'https' env=HTTPS
-
- # Make redirects to avoid 409 Conflict errors. See: #2219. Upstream issue:
- # https://github.com/transmission/transmission/pull/857 . Drop this
- # workaround with Transmission >= 4.0.
-
- RewriteEngine On
- RewriteCond %{REQUEST_URI} ^/transmission/$
- RewriteRule .* /transmission/web/ [R=302,L]
- RewriteCond %{REQUEST_URI} ^/transmission/web$
- RewriteRule .* /transmission/web/ [R=302,L]
-
# LDAP only authentication for Transmission remote UIs.
From 044d99e367fec74013448322f35f9576a0cf81b9 Mon Sep 17 00:00:00 2001
From: Benedek Nagy
Date: Thu, 11 Dec 2025 19:58:37 +0100
Subject: [PATCH 10/24] minetest: Rename Minetest to Luanti
This is to follow up with the upstream change:
https://blog.luanti.org/2024/10/13/Introducing-Our-New-Name/.
Rename Minetest to Luanti in:
- App name
- App description
- Clients' name
- Docstrings
- Also update the donation and client download links to point to the new
domain.
- Make the app button point to /apps/luanti while continuing to serve
/apps/minetest in case somebody has it bookmarked.
Closes: #2521
Signed-off-by: Benedek Nagy
[sunil: Rename the old URL to index-old to avoid duplicates]
Signed-off-by: Sunil Mohan Adapa
Reviewed-by: Sunil Mohan Adapa
---
plinth/modules/minetest/__init__.py | 17 +++++++++--------
plinth/modules/minetest/manifest.py | 10 +++++-----
plinth/modules/minetest/urls.py | 3 ++-
3 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/plinth/modules/minetest/__init__.py b/plinth/modules/minetest/__init__.py
index c4924d74a..4a5bb33a4 100644
--- a/plinth/modules/minetest/__init__.py
+++ b/plinth/modules/minetest/__init__.py
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
-"""FreedomBox app for Minetest server."""
+"""FreedomBox app for Luanti (formally Minetest) server."""
import augeas
from django.urls import reverse_lazy
@@ -30,10 +30,11 @@ _mods = [
_description = [
format_lazy(
- _('Minetest is a multiplayer infinite-world block sandbox. This '
- 'module enables the Minetest server to be run on this '
- '{box_name}, on the default port (30000). To connect to the server, '
- 'a Minetest client '
+ _('Luanti, formally known as Minetest, is a multiplayer '
+ 'infinite-world block sandbox. This module enables the Luanti '
+ 'server to be run on this {box_name}, on the default port (30000). '
+ 'To connect to the server, a '
+ 'Luanti client '
'is needed.'), box_name=_(cfg.box_name)),
]
@@ -42,7 +43,7 @@ AUG_PATH = '/files' + CONFIG_FILE + '/.anon'
class MinetestApp(app_module.App):
- """FreedomBox app for Minetest."""
+ """FreedomBox app for Luanti (formally Minetest)."""
app_id = 'minetest'
@@ -53,11 +54,11 @@ class MinetestApp(app_module.App):
super().__init__()
info = app_module.Info(
- app_id=self.app_id, version=self._version, name=_('Minetest'),
+ app_id=self.app_id, version=self._version, name=_('Luanti'),
icon_filename='minetest', description=_description,
manual_page='Minetest', clients=manifest.clients,
tags=manifest.tags,
- donation_url='https://www.minetest.net/get-involved/#donate')
+ donation_url='https://www.luanti.org/donate/')
self.add(info)
menu_item = menu.Menu('menu-minetest', info.name, info.icon_filename,
diff --git a/plinth/modules/minetest/manifest.py b/plinth/modules/minetest/manifest.py
index 3963d7ce2..27c65380d 100644
--- a/plinth/modules/minetest/manifest.py
+++ b/plinth/modules/minetest/manifest.py
@@ -6,19 +6,19 @@ from plinth.clients import store_url
clients = [{
'name':
- _('Minetest'),
+ _('Luanti'),
'platforms': [{
'type': 'download',
'os': 'gnu-linux',
- 'url': 'https://www.minetest.net/downloads/'
+ 'url': 'https://www.luanti.org/downloads/'
}, {
'type': 'download',
'os': 'macos',
- 'url': 'https://www.minetest.net/downloads/'
+ 'url': 'https://www.luanti.org/downloads/'
}, {
'type': 'download',
'os': 'windows',
- 'url': 'https://www.minetest.net/downloads/'
+ 'url': 'https://www.luanti.org/downloads/'
}, {
'type': 'store',
'os': 'android',
@@ -32,7 +32,7 @@ clients = [{
}, {
'type': 'package',
'format': 'deb',
- 'name': 'minetest'
+ 'name': 'luanti'
}]
}]
diff --git a/plinth/modules/minetest/urls.py b/plinth/modules/minetest/urls.py
index 1e057eee2..9f5f166cb 100644
--- a/plinth/modules/minetest/urls.py
+++ b/plinth/modules/minetest/urls.py
@@ -8,5 +8,6 @@ from django.urls import re_path
from plinth.modules.minetest.views import MinetestAppView
urlpatterns = [
- re_path(r'^apps/minetest/$', MinetestAppView.as_view(), name='index'),
+ re_path(r'^apps/minetest/$', MinetestAppView.as_view(), name='index-old'),
+ re_path(r'^apps/luanti/$', MinetestAppView.as_view(), name='index'),
]
From fe496627d07c5b97e965c0dde03ce381476400ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?=
Date: Thu, 11 Dec 2025 08:37:28 +0100
Subject: [PATCH 11/24] Translated using Weblate (Estonian)
Currently translated at 4.5% (85 of 1880 strings)
---
plinth/locale/et/LC_MESSAGES/django.po | 94 +++++++++++++++-----------
1 file changed, 54 insertions(+), 40 deletions(-)
diff --git a/plinth/locale/et/LC_MESSAGES/django.po b/plinth/locale/et/LC_MESSAGES/django.po
index 5a06760d5..e8152f86c 100644
--- a/plinth/locale/et/LC_MESSAGES/django.po
+++ b/plinth/locale/et/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-12-06 09:00+0000\n"
+"PO-Revision-Date: 2025-12-12 08:00+0000\n"
"Last-Translator: Priit Jõerüüt \n"
"Language-Team: Estonian \n"
@@ -22,7 +22,7 @@ msgstr ""
#: plinth/config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
-msgstr ""
+msgstr "Staatiline seadistus asukohas „{etc_path}“ on korrektne"
#: plinth/container.py:140
#, python-brace-format
@@ -194,11 +194,11 @@ msgstr ""
#: plinth/modules/avahi/manifest.py:14
msgid "Auto-discovery"
-msgstr ""
+msgstr "Automaatne tuvastus"
#: plinth/modules/avahi/manifest.py:14 plinth/modules/backups/manifest.py:17
msgid "Local"
-msgstr ""
+msgstr "Kohalik"
#: plinth/modules/avahi/manifest.py:14
msgid "mDNS"
@@ -229,7 +229,7 @@ msgstr ""
#: plinth/modules/upgrades/__init__.py:152
#, python-brace-format
msgid "Go to {app_name}"
-msgstr ""
+msgstr "Ava {app_name}"
#: plinth/modules/backups/__init__.py:218
#, python-brace-format
@@ -268,20 +268,26 @@ msgid ""
"This many latest backups are kept and the rest are removed. A value of \"0\" "
"disables backups of this type. Triggered at specified hour every day."
msgstr ""
+"Siinmääratud arv varukoopiaid hoitakse alles ja muud eemaldatakse. Kui "
+"väärtus on „0“, siis see varunduse võimalus pole kasutusel. Käivitatakse "
+"määratud tunnil kord päevas."
#: plinth/modules/backups/forms.py:65
msgid "Number of weekly backups to keep"
-msgstr ""
+msgstr "Alleshoitavaid iganädalaseid varukoopiaid"
#: plinth/modules/backups/forms.py:67
msgid ""
"This many latest backups are kept and the rest are removed. A value of \"0\" "
"disables backups of this type. Triggered at specified hour every Sunday."
msgstr ""
+"Siinmääratud arv varukoopiaid hoitakse alles ja muud eemaldatakse. Kui "
+"väärtus on „0“, siis see varunduse võimalus pole kasutusel. Käivitatakse "
+"määratud tunnil igal pühapäeval."
#: plinth/modules/backups/forms.py:72
msgid "Number of monthly backups to keep"
-msgstr ""
+msgstr "Alleshoitavaid igakuiseid varukoopiaid"
#: plinth/modules/backups/forms.py:74
msgid ""
@@ -289,28 +295,33 @@ msgid ""
"disables backups of this type. Triggered at specified hour first day of "
"every month."
msgstr ""
+"Siinmääratud arv varukoopiaid hoitakse alles ja muud eemaldatakse. Kui "
+"väärtus on „0“, siis see varunduse võimalus pole kasutusel. Käivitatakse "
+"määratud tunnil iga kuu esimesel päeval."
#: plinth/modules/backups/forms.py:79
msgid "Hour of the day to trigger backup operation"
-msgstr ""
+msgstr "Varunduse kellaaeg"
#: plinth/modules/backups/forms.py:81
msgid ""
"In 24 hour format. Services may become temporarily unavailable while running "
"backup operation at this time of the day."
msgstr ""
+"24-tunnises vormingus. Varunduse käivitumisel võib muude teenuste saadavus "
+"ajutiselt kaduda."
#: plinth/modules/backups/forms.py:85 plinth/modules/backups/forms.py:107
msgid "Included apps"
-msgstr ""
+msgstr "Kaasatud rakendused"
#: plinth/modules/backups/forms.py:85 plinth/modules/backups/forms.py:107
msgid "Apps to include in the backup"
-msgstr ""
+msgstr "Varukoopiasse kaasatavad rakendused"
#: plinth/modules/backups/forms.py:101
msgid "Repository"
-msgstr "Tarkvarahoidla"
+msgstr "Varukoopiate hoidla"
#: plinth/modules/backups/forms.py:103
#: plinth/modules/backups/templates/backups_delete.html:17
@@ -323,19 +334,19 @@ msgstr "Nimi"
#: plinth/modules/backups/forms.py:104
msgid "(Optional) Set a name for this backup archive"
-msgstr ""
+msgstr "Sisesta varukoopia nimi (kui soovid)"
#: plinth/modules/backups/forms.py:125
msgid "Select the apps you want to restore"
-msgstr ""
+msgstr "Vali taastatavad rakendused"
#: plinth/modules/backups/forms.py:141 plinth/modules/kiwix/forms.py:21
msgid "Upload File"
-msgstr ""
+msgstr "Laadi fail üles"
#: plinth/modules/backups/forms.py:143
msgid "Backup files have to be in .tar.gz format"
-msgstr ""
+msgstr "Varukoopiate failid peavad olema .tar.gz vormingus"
#: plinth/modules/backups/forms.py:145
#, python-brace-format
@@ -344,10 +355,13 @@ msgid ""
"file previously downloaded from the result of a successful backup on a "
"{box_name}. It must have a .tar.gz extension."
msgstr ""
+"Vali oma arvutist üleslaaditav varukoopia fail. Selleks pead varasemalt mõne "
+"„{box_name}“ serveris tehtud varukoopia olema alla laadinud. Failil peab "
+"olema .tar.gz laiend."
#: plinth/modules/backups/forms.py:154
msgid "Repository path format incorrect."
-msgstr ""
+msgstr "Varukoopiate hoidla vorming on vigane."
#: plinth/modules/backups/forms.py:181
#: plinth/modules/letsencrypt/manifest.py:11
@@ -376,7 +390,7 @@ msgstr "Salafraas"
#: plinth/modules/backups/forms.py:187
msgid "Passphrase; Only needed when using encryption."
-msgstr ""
+msgstr "Salafraasi on vaja vaid krüptimise kasutamisel."
#: plinth/modules/backups/forms.py:190
msgid "Confirm Passphrase"
@@ -5029,21 +5043,21 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:40
msgid "Edit connection"
-msgstr ""
+msgstr "Muuda ühendust"
#: plinth/modules/networks/templates/connection_show.html:47
#: plinth/modules/networks/templates/connections_list.html:61
msgid "Deactivate"
-msgstr ""
+msgstr "Lülita välja"
#: plinth/modules/networks/templates/connection_show.html:54
#: plinth/modules/networks/templates/connections_list.html:69
msgid "Activate"
-msgstr ""
+msgstr "Lülita sisse"
#: plinth/modules/networks/templates/connection_show.html:60
msgid "Delete connection"
-msgstr ""
+msgstr "Kustuta ühendus"
#: plinth/modules/networks/templates/connection_show.html:63
#: plinth/modules/networks/templates/connections_diagram.html:19
@@ -5051,91 +5065,91 @@ msgstr ""
#: plinth/modules/networks/templates/connections_diagram.html:51
#: plinth/modules/networks/templates/connections_diagram.html:73
msgid "Connection"
-msgstr ""
+msgstr "Ühendus"
#: plinth/modules/networks/templates/connection_show.html:68
msgid "Primary connection"
-msgstr ""
+msgstr "Põhiühendus"
#: plinth/modules/networks/templates/connection_show.html:81
#: plinth/modules/storage/templates/storage.html:23
msgid "Device"
-msgstr ""
+msgstr "Seade"
#: plinth/modules/networks/templates/connection_show.html:85
msgid "State"
-msgstr ""
+msgstr "Olek"
#: plinth/modules/networks/templates/connection_show.html:90
msgid "State reason"
-msgstr ""
+msgstr "Oleku põhjus"
#: plinth/modules/networks/templates/connection_show.html:99
msgid "MAC address"
-msgstr ""
+msgstr "MAC-aadress"
#: plinth/modules/networks/templates/connection_show.html:103
msgid "Interface"
-msgstr ""
+msgstr "Võrguliides"
#: plinth/modules/networks/templates/connection_show.html:107
#: plinth/modules/snapshot/templates/snapshot_delete_selected.html:19
#: plinth/modules/snapshot/templates/snapshot_manage.html:34
#: plinth/modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
-msgstr ""
+msgstr "Kirjeldus"
#: plinth/modules/networks/templates/connection_show.html:113
msgid "Physical Link"
-msgstr ""
+msgstr "Füüsiline link"
#: plinth/modules/networks/templates/connection_show.html:118
msgid "Link state"
-msgstr ""
+msgstr "Lingi olek"
#: plinth/modules/networks/templates/connection_show.html:121
msgid "cable is connected"
-msgstr ""
+msgstr "kaabel on ühendatud lahti"
#: plinth/modules/networks/templates/connection_show.html:124
msgid "please check cable"
-msgstr ""
+msgstr "palun kontrolli kaabli olekut"
#: plinth/modules/networks/templates/connection_show.html:128
#: plinth/modules/networks/templates/connection_show.html:144
msgid "Speed"
-msgstr ""
+msgstr "Kiirus"
#: plinth/modules/networks/templates/connection_show.html:130
#, python-format
msgid "%(ethernet_speed)s Mbit/s"
-msgstr ""
+msgstr "%(ethernet_speed)s Mbit/s"
#: plinth/modules/networks/templates/connection_show.html:146
#, python-format
msgid "%(wireless_bitrate)s Mbit/s"
-msgstr ""
+msgstr "%(wireless_bitrate)s Mbit/s"
#: plinth/modules/networks/templates/connection_show.html:158
msgid "Signal strength"
-msgstr ""
+msgstr "Signaali tugevus"
#: plinth/modules/networks/templates/connection_show.html:174
#: plinth/modules/networks/templates/connections_fields.html:67
msgid "IPv4"
-msgstr ""
+msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:179
#: plinth/modules/networks/templates/connection_show.html:222
#: plinth/modules/shadowsocks/forms.py:36
#: plinth/modules/shadowsocksserver/forms.py:42
msgid "Method"
-msgstr ""
+msgstr "Meetod"
#: plinth/modules/networks/templates/connection_show.html:188
#: plinth/modules/networks/templates/connection_show.html:229
msgid "IP address"
-msgstr ""
+msgstr "IP-aadress"
#: plinth/modules/networks/templates/connection_show.html:204
#: plinth/modules/networks/templates/connection_show.html:245
From 57dea84e7980cc66c3a25c53f807e5ac8f5b6f29 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?=
Date: Sat, 13 Dec 2025 12:33:35 +0100
Subject: [PATCH 12/24] Translated using Weblate (Estonian)
Currently translated at 4.7% (89 of 1880 strings)
---
plinth/locale/et/LC_MESSAGES/django.po | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/plinth/locale/et/LC_MESSAGES/django.po b/plinth/locale/et/LC_MESSAGES/django.po
index e8152f86c..2d8a98341 100644
--- a/plinth/locale/et/LC_MESSAGES/django.po
+++ b/plinth/locale/et/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-12-12 08:00+0000\n"
+"PO-Revision-Date: 2025-12-14 09:00+0000\n"
"Last-Translator: Priit Jõerüüt \n"
"Language-Team: Estonian \n"
@@ -458,7 +458,7 @@ msgstr "Krüptitud"
#: plinth/modules/backups/manifest.py:16
msgid "Schedules"
-msgstr ""
+msgstr "Ajastamised"
#: plinth/modules/backups/manifest.py:18
msgid "Remote"
@@ -617,7 +617,7 @@ msgstr ""
#: plinth/modules/backups/templates/backups_delete.html:18
msgid "Time"
-msgstr ""
+msgstr "Aeg"
#: plinth/modules/backups/templates/backups_delete.html:34
#, python-format
@@ -630,7 +630,7 @@ msgstr ""
#: plinth/modules/backups/templates/backups_repository.html:33
msgid "Schedule"
-msgstr ""
+msgstr "Ajakava"
#: plinth/modules/backups/templates/backups_repository.html:44
msgid "Unmount Location"
@@ -646,7 +646,7 @@ msgstr ""
#: plinth/modules/backups/templates/backups_repository.html:88
msgid "Download"
-msgstr ""
+msgstr "Laadi alla"
#: plinth/modules/backups/templates/backups_repository.html:114
msgid "No archives currently exist."
From f2980fa1b0375c1618cbbdc8a7f2e5c76f548e24 Mon Sep 17 00:00:00 2001
From: OwlGale
Date: Sat, 13 Dec 2025 18:59:38 +0100
Subject: [PATCH 13/24] Translated using Weblate (Russian)
Currently translated at 100.0% (1880 of 1880 strings)
---
plinth/locale/ru/LC_MESSAGES/django.po | 42 ++++++++++++--------------
1 file changed, 19 insertions(+), 23 deletions(-)
diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po
index 915acbe58..21f66daf5 100644
--- a/plinth/locale/ru/LC_MESSAGES/django.po
+++ b/plinth/locale/ru/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-12-03 13:00+0000\n"
+"PO-Revision-Date: 2025-12-14 09:00+0000\n"
"Last-Translator: OwlGale \n"
"Language-Team: Russian \n"
@@ -3560,8 +3560,8 @@ msgid ""
"The %(box_name)s Manual is the best place to "
"start for information regarding %(box_name)s."
msgstr ""
-"Руководство %(box_name)s это лучшее место для "
-"получения информации о %(box_name)s."
+"Для начала руководство %(box_name)s это "
+"лучшее место для получения информации о %(box_name)s."
#: plinth/modules/help/templates/help_index.html:25
#, python-format
@@ -3569,8 +3569,8 @@ msgid ""
" "
"%(box_name)s project wiki contains further information."
msgstr ""
-"Вики проекта %(box_name)s содержит исчерпывающую информацию."
+"Вики проекта "
+"%(box_name)s содержит дополнительную информацию."
#: plinth/modules/help/templates/help_index.html:32
#, python-format
@@ -3580,10 +3580,10 @@ msgid ""
"discuss\"> mailing list. The list archives also contain information "
"about problems faced by other users and possible solutions."
msgstr ""
-"Если вам нужна помощь сообщества %(box_name)s, вопросы можно задавать в "
-"списке рассылок Архивный лист так же содержит информацию о "
-"проблемах и возможных путях решения."
+"Если вам нужна помощь сообщества %(box_name)s, вопросы можно задать в "
+"списке рассылки. Он также содержит информацию о проблемах, с которыми "
+"сталкиваются другие пользователи и возможные решения."
#: plinth/modules/help/templates/help_index.html:42
#, python-format
@@ -3593,11 +3593,11 @@ msgid ""
"webchat.oftc.net/?randomnick=1&channels=freedombox&prompt=1\"> #freedombox"
"a> channel using the IRC web interface."
msgstr ""
-"Многие участники и пользователи %(box_name)s также доступны в IRC-сети "
+"Многих участников и пользователей %(box_name)s можно найти в сети IRC "
"irc.oftc.net. Присоединяйтесь и запрашивайте помощь на канале #freedombox с "
-"помощью веб-интерфейса IRC."
+"href=\"https://webchat.oftc.net/"
+"?randomnick=1&channels=freedombox&prompt=1\"> #freedombox с "
+"помощью веб-интерфейса."
#: plinth/modules/help/templates/help_manual.html:18
msgid "Download as PDF"
@@ -10581,7 +10581,7 @@ msgstr "Выход"
#: plinth/templates/base.html:212 plinth/templates/base.html:215
msgid "Select language"
-msgstr "Выберите язык"
+msgstr "Выбрать язык"
#: plinth/templates/base.html:230 plinth/templates/base.html:232
msgid "Log in"
@@ -10793,27 +10793,23 @@ msgstr "Очистить все теги"
#: plinth/templates/theme-menu.html:8
msgid "Toggle theme (auto)"
-msgstr ""
+msgstr "Переключить тему (Автоматическая)"
#: plinth/templates/theme-menu.html:14
msgid "Toggle theme"
-msgstr ""
+msgstr "Переключить тему"
#: plinth/templates/theme-menu.html:23
-#, fuzzy
-#| msgid "Weight"
msgid "Light"
-msgstr "Вес"
+msgstr "Светлая"
#: plinth/templates/theme-menu.html:32
msgid "Dark"
-msgstr ""
+msgstr "Тёмная"
#: plinth/templates/theme-menu.html:41
-#, fuzzy
-#| msgid "Automatic"
msgid "Auto"
-msgstr "Автоматически"
+msgstr "Автоматическая"
#: plinth/templates/toolbar.html:39 plinth/templates/toolbar.html:40
msgid "View Logs"
From cad7d4412f051509d7388cf67108e5ddb0d00a57 Mon Sep 17 00:00:00 2001
From: Diego Roversi
Date: Sat, 13 Dec 2025 14:10:13 +0100
Subject: [PATCH 14/24] Translated using Weblate (Italian)
Currently translated at 50.1% (943 of 1880 strings)
---
plinth/locale/it/LC_MESSAGES/django.po | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po
index dc2e134c7..10b475eb5 100644
--- a/plinth/locale/it/LC_MESSAGES/django.po
+++ b/plinth/locale/it/LC_MESSAGES/django.po
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-11-13 13:51+0000\n"
-"Last-Translator: Dietmar \n"
+"PO-Revision-Date: 2025-12-14 09:00+0000\n"
+"Last-Translator: Diego Roversi \n"
"Language-Team: Italian \n"
"Language: it\n"
@@ -195,7 +195,7 @@ msgstr ""
#: plinth/modules/avahi/__init__.py:47
msgid "Service Discovery"
-msgstr "Servizio Scoperta"
+msgstr "Ricerca Servizi"
#: plinth/modules/avahi/__init__.py:62
msgid "Local Network Domain"
From ebdbd8cd69913c747c6ee334a4c2d10f748b31d3 Mon Sep 17 00:00:00 2001
From: Pierfrancesco Passerini
Date: Sat, 13 Dec 2025 15:58:05 +0100
Subject: [PATCH 15/24] Translated using Weblate (Italian)
Currently translated at 50.1% (943 of 1880 strings)
---
plinth/locale/it/LC_MESSAGES/django.po | 233 +++++++++++++------------
1 file changed, 121 insertions(+), 112 deletions(-)
diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po
index 10b475eb5..9ebec79bd 100644
--- a/plinth/locale/it/LC_MESSAGES/django.po
+++ b/plinth/locale/it/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
"PO-Revision-Date: 2025-12-14 09:00+0000\n"
-"Last-Translator: Diego Roversi \n"
+"Last-Translator: Pierfrancesco Passerini \n"
"Language-Team: Italian \n"
"Language: it\n"
@@ -51,7 +51,7 @@ msgstr "In ascolto sulla porta{port}:{kind}"
#: plinth/daemon.py:302
#, python-brace-format
msgid "Connect to {host}:{port}"
-msgstr "Connessione a {host}:{port}"
+msgstr "Connetti a {host}:{port}"
#: plinth/daemon.py:310
#, python-brace-format
@@ -91,6 +91,8 @@ msgid ""
"Select a domain to use TLS with. If the list is empty, please configure at "
"least one domain with certificates."
msgstr ""
+"Selezionare un dominio con cui usare TLS. Se l'elenco è vuoto, per favore "
+"configurare almeno un dominio con certificati."
#: plinth/forms.py:93
msgid "Language"
@@ -195,7 +197,7 @@ msgstr ""
#: plinth/modules/avahi/__init__.py:47
msgid "Service Discovery"
-msgstr "Ricerca Servizi"
+msgstr "Ricerca servizi"
#: plinth/modules/avahi/__init__.py:62
msgid "Local Network Domain"
@@ -227,6 +229,8 @@ msgid ""
"Enable an automatic backup schedule for data safety. Prefer an encrypted "
"remote backup location or an extra attached disk."
msgstr ""
+"Attiva i backup programmati per proteggere i dati. Prediligi una "
+"destinazione remota crittografata o un disco esterno aggiuntivo."
#: plinth/modules/backups/__init__.py:179
msgid "Enable a Backup Schedule"
@@ -246,6 +250,8 @@ msgid ""
"A scheduled backup failed. Past {error_count} attempts for backup did not "
"succeed. The latest error is: {error_message}"
msgstr ""
+"Un backup programmato è fallito. Gli ultimi {error_count} tentativi di "
+"backup non hanno avuto successo. L'ultimo errore è stato: {error_message}"
#: plinth/modules/backups/__init__.py:226
msgid "Error During Backup"
@@ -258,37 +264,45 @@ msgstr "{app} (Nessun dato da salvare)"
#: plinth/modules/backups/forms.py:54
msgid "Enable scheduled backups"
-msgstr ""
+msgstr "Abilitare i backup programmati"
#: plinth/modules/backups/forms.py:55
msgid ""
"If enabled, a backup is taken every day, every week and every month. Older "
"backups are removed."
msgstr ""
+"Se abilitato, un backup sarà effettuato ogni giorno, ogni settimana e ogni "
+"mese. I backup più vecchi saranno rimossi."
#: plinth/modules/backups/forms.py:59
msgid "Number of daily backups to keep"
-msgstr ""
+msgstr "Numero di backup giornalieri da conservare"
#: plinth/modules/backups/forms.py:60
msgid ""
"This many latest backups are kept and the rest are removed. A value of \"0\" "
"disables backups of this type. Triggered at specified hour every day."
msgstr ""
+"Questi ultimi backup saranno conservati e gli altri rimossi. Un valore di "
+"\"0\" disabilita il backup di questo tipo. Avviato all'ora specificata di "
+"ogni giorno."
#: plinth/modules/backups/forms.py:65
msgid "Number of weekly backups to keep"
-msgstr ""
+msgstr "Numero di backup settimanali da conservare"
#: plinth/modules/backups/forms.py:67
msgid ""
"This many latest backups are kept and the rest are removed. A value of \"0\" "
"disables backups of this type. Triggered at specified hour every Sunday."
msgstr ""
+"Questi ultimi backup saranno conservati e gli altri rimossi. Un valore di "
+"\"0\" disabilita il backup di questo tipo. Avviato all'ora specificata di "
+"ogni domenica."
#: plinth/modules/backups/forms.py:72
msgid "Number of monthly backups to keep"
-msgstr ""
+msgstr "Numero di backup mensili da conservare"
#: plinth/modules/backups/forms.py:74
msgid ""
@@ -296,10 +310,13 @@ msgid ""
"disables backups of this type. Triggered at specified hour first day of "
"every month."
msgstr ""
+"Questi ultimi backup saranno conservati e gli altri rimossi. Un valore di "
+"\"0\" disabilita il backup di questo tipo. Avviato all'ora specificata del "
+"primo giorno di ogni mese."
#: plinth/modules/backups/forms.py:79
msgid "Hour of the day to trigger backup operation"
-msgstr ""
+msgstr "Ora del giorno a cui far iniziare le operazioni di backup"
#: plinth/modules/backups/forms.py:81
msgid ""
@@ -432,8 +449,8 @@ msgid ""
"Password of the SSH Server.
SSH key-based authentication is not yet "
"possible."
msgstr ""
-"La password del Server SSH.
L'autenticazione basata su chiave SSH non è "
-"ancora possibile."
+"La password del server SSH.
L'autenticazione basata su chiave SSH non è "
+"ancora implementata."
#: plinth/modules/backups/forms.py:275
msgid "Remote backup repository already exists."
@@ -448,9 +465,8 @@ msgstr "Selezionare la chiave pubblica SSH verificata"
#: plinth/modules/backups/templates/backups_restore.html:27
#: plinth/modules/backups/views.py:238 plinth/modules/snapshot/manifest.py:14
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
-#, fuzzy
msgid "Restore"
-msgstr "Restaurare"
+msgstr "Ripristino"
#: plinth/modules/backups/manifest.py:15
msgid "Encrypted"
@@ -532,9 +548,9 @@ msgid "Existing repository is not encrypted."
msgstr "Il repository esistente non è criptato."
#: plinth/modules/backups/repository.py:241
-#, python-brace-format
+#, fuzzy, python-brace-format
msgid "{box_name} storage"
-msgstr ""
+msgstr "Archiviazione di {box_name}"
#: plinth/modules/backups/templates/backups.html:17
#: plinth/modules/backups/views.py:124
@@ -637,7 +653,7 @@ msgstr "Il repository è criptato"
#: plinth/modules/backups/templates/backups_repository.html:33
msgid "Schedule"
-msgstr ""
+msgstr "Pianificazione"
#: plinth/modules/backups/templates/backups_repository.html:44
msgid "Unmount Location"
@@ -645,7 +661,7 @@ msgstr "Rimuovi la destinazione"
#: plinth/modules/backups/templates/backups_repository.html:55
msgid "Mount Location"
-msgstr "Montare la posizione"
+msgstr "Punto di montaggio"
#: plinth/modules/backups/templates/backups_repository.html:66
msgid "Remove Backup Location. This will not delete the remote backup."
@@ -733,9 +749,9 @@ msgid ""
"one of the provided options. You can also use DSA, ECDSA, Ed25519 etc. "
"instead of RSA, by choosing the corresponding file."
msgstr ""
-"Eseguire il seguente comando sulla macchina host SSH. Il risultato dovrebbe "
+"Eseguire il comando sulla macchina host SSH. Il risultato dovrebbe "
"corrispondere a una delle opzioni fornite. Si può anche usare DSA, ECDSA, "
-"Ed25519 ecc. al posto di RSA, scegliendo il file corrispondente."
+"Ed25519, ecc. al posto di RSA, scegliendo il file corrispondente."
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:66
msgid "Verify Host"
@@ -743,11 +759,11 @@ msgstr "Verificare l'host"
#: plinth/modules/backups/views.py:68
msgid "Backup schedule updated."
-msgstr ""
+msgstr "Pianificazione del backup aggiornata."
#: plinth/modules/backups/views.py:87
msgid "Schedule Backups"
-msgstr ""
+msgstr "Pianificazione dei backup"
#: plinth/modules/backups/views.py:148
msgid "Archive created."
@@ -892,7 +908,7 @@ msgstr "Creare o caricare file"
#: plinth/modules/bepasty/__init__.py:34
msgid "List all files and their web links"
-msgstr ""
+msgstr "Elenca tutti i file e i loro collegamenti web"
#: plinth/modules/bepasty/__init__.py:35
msgid "Delete files"
@@ -900,15 +916,16 @@ msgstr "Cancellare file"
#: plinth/modules/bepasty/__init__.py:36
msgid "Administer files: lock/unlock files"
-msgstr ""
+msgstr "Amministrazione file: blocca/sblocca file"
#: plinth/modules/bepasty/__init__.py:40
+#, fuzzy
msgid "None, password is always required"
-msgstr ""
+msgstr "Nessuno, la password è sempre obbligatoria"
#: plinth/modules/bepasty/__init__.py:42
msgid "List and read all files"
-msgstr ""
+msgstr "Visualizza e legge tutti i file"
#: plinth/modules/bepasty/__init__.py:57 plinth/modules/bepasty/manifest.py:6
msgid "bepasty"
@@ -916,31 +933,33 @@ msgstr "bepasty"
#: plinth/modules/bepasty/forms.py:17
msgid "Public Access (default permissions)"
-msgstr ""
+msgstr "Accesso pubblico (permessi predefiniti)"
#: plinth/modules/bepasty/forms.py:18
msgid "Permissions for anonymous users, who have not provided a password."
-msgstr ""
+msgstr "Permessi per utenti anonimi, che non hanno fornito una password."
#: plinth/modules/bepasty/forms.py:27
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/users/forms.py:104
msgid "Permissions"
-msgstr ""
+msgstr "Permessi"
#: plinth/modules/bepasty/forms.py:29
msgid ""
"Users that log in with this password will have the selected permissions."
msgstr ""
+"Gli utenti che accedono con questa password avranno i permessi selezionati."
#: plinth/modules/bepasty/forms.py:33
#: plinth/modules/bepasty/templates/bepasty.html:31
msgid "Comment"
-msgstr ""
+msgstr "Commento"
#: plinth/modules/bepasty/forms.py:34
+#, fuzzy
msgid "Any comment to help you remember the purpose of this password."
-msgstr ""
+msgstr "Qualsiasi commento che ti aiuti a ricordare questa password."
#: plinth/modules/bepasty/manifest.py:23 plinth/modules/deluge/manifest.py:21
#: plinth/modules/samba/manifest.py:81 plinth/modules/sharing/manifest.py:19
@@ -975,27 +994,27 @@ msgstr "Password"
#: plinth/modules/bepasty/views.py:19
msgid "admin"
-msgstr ""
+msgstr "amministratore"
#: plinth/modules/bepasty/views.py:20
msgid "editor"
-msgstr ""
+msgstr "editore"
#: plinth/modules/bepasty/views.py:21
msgid "viewer"
-msgstr ""
+msgstr "visualizzatore"
#: plinth/modules/bepasty/views.py:47
msgid "Read"
-msgstr ""
+msgstr "Lettura"
#: plinth/modules/bepasty/views.py:48
msgid "Create"
-msgstr "Crea"
+msgstr "Creazione"
#: plinth/modules/bepasty/views.py:49
msgid "List"
-msgstr ""
+msgstr "Visualizza"
#: plinth/modules/bepasty/views.py:50
#: plinth/modules/dynamicdns/templates/dynamicdns-domain-delete.html:22
@@ -1016,7 +1035,7 @@ msgstr "Cancella"
#: plinth/modules/bepasty/views.py:51
msgid "Admin"
-msgstr ""
+msgstr "Amministratore"
#: plinth/modules/bepasty/views.py:88 plinth/modules/diagnostics/views.py:66
#: plinth/modules/homeassistant/views.py:53
@@ -1026,7 +1045,7 @@ msgstr ""
#: plinth/modules/torproxy/views.py:71 plinth/modules/upgrades/views.py:82
#: plinth/modules/zoph/views.py:74
msgid "Configuration updated."
-msgstr ""
+msgstr "Configurazione aggiornata."
#: plinth/modules/bepasty/views.py:91 plinth/modules/email/views.py:48
#: plinth/modules/gitweb/views.py:117 plinth/modules/searx/views.py:38
@@ -1073,7 +1092,7 @@ msgstr "BIND"
#: plinth/modules/bind/forms.py:19
#, fuzzy
msgid "Forwarders"
-msgstr "Mittenti"
+msgstr "Destinatari di inoltro"
#: plinth/modules/bind/forms.py:20
msgid ""
@@ -1549,9 +1568,8 @@ msgid "Error setting time zone: {exception}"
msgstr "Errore impostazione fuso orario: {exception}"
#: plinth/modules/datetime/views.py:56
-#, fuzzy
msgid "Time zone set"
-msgstr "Impostazione fuso orario"
+msgstr "Impostazione del fuso orario"
#: plinth/modules/deluge/__init__.py:22
msgid "Deluge is a BitTorrent client that features a Web UI."
@@ -1599,13 +1617,12 @@ msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
-#, fuzzy
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
-"La diagnostica di sistema eseguirà una serie di controlli per verificare che "
-"le applicazioni e i servizi stiano funzionino correttamente."
+"Il test della diagnostica di sistema eseguirà una serie di controlli per "
+"verificare che le applicazioni e i servizi funzionino correttamente."
#: plinth/modules/diagnostics/__init__.py:36
#, python-brace-format
@@ -1834,10 +1851,10 @@ msgid ""
msgstr ""
"La soluzione è assegnare un nome DNS al tuo IP e aggiornare il tuo nome DNS "
"ogni volta che cambia il tuo indirizzo IP. Il DNS dinamico ti consente di "
-"inviare il tuo IP corrente a GnuPID server. Successivamente, il server assegnerà il "
-"tuo nome DNS al nuovo IP, e se qualcuno cercherà il tuo nome DNS in "
-"Internet, riceverà come risposta l'indirizzo IP corrente."
+"inviare il tuo IP corrente al server GnuPID. Successivamente, il "
+"server assegnerà il tuo nome DNS al nuovo IP; se qualcuno cercherà il tuo "
+"nome DNS in Internet, riceverà come risposta l'indirizzo IP corrente."
#: plinth/modules/dynamicdns/__init__.py:41
msgid ""
@@ -1960,9 +1977,8 @@ msgid "Accept all SSL certificates"
msgstr "Accetta tutti i certificati SSL"
#: plinth/modules/dynamicdns/forms.py:72
-#, fuzzy
msgid "Use HTTP basic authentication"
-msgstr "Usa l'autenticazione HTTP base"
+msgstr "Usa l'autenticazione HTTP di base"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:19
@@ -2000,7 +2016,6 @@ msgstr "Il dominio esiste già."
#: plinth/modules/email/templates/email-dns.html:22
#: plinth/modules/letsencrypt/templates/letsencrypt.html:24
#: plinth/modules/mediawiki/forms.py:64 plinth/modules/sogo/forms.py:18
-#, fuzzy
msgid "Domain"
msgstr "Dominio"
@@ -2112,18 +2127,17 @@ msgstr ""
"eseguire e configurare il tuo server XMPP, chiamato ejabberd."
#: plinth/modules/ejabberd/__init__.py:32
-#, python-brace-format
+#, fuzzy, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
"a> or any other XMPP client. When enabled, ejabberd can be accessed by "
"any user with a {box_name} login."
msgstr ""
-"Per comunicare in questo momento, puoi usare client "
-"web o un client XMPP qualsiasi. Quando abilitato, è possibile "
-"accedere a ejabberd da ogni utente con un login "
-"{box_name} ."
+"Per comunicare, puoi usare un qualsiasi client web"
+"a> o un "
+"client XMPP . Quando ejabberd è abilitato, tutti hanno la possibilità di "
+"accedervi con utente con login {box_name} ."
#: plinth/modules/ejabberd/__init__.py:40
#, python-brace-format
@@ -2153,18 +2167,17 @@ msgid "Enable Message Archive Management"
msgstr "Abilita Gestione Archivio Messaggi"
#: plinth/modules/ejabberd/forms.py:29
-#, fuzzy, python-brace-format
+#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
"synchronization of conversations between multiple clients, and reading the "
"history of a multi-user chat room. It depends on the client settings whether "
"the histories are stored as plain text or encrypted."
msgstr ""
-"Se abilitato, il tuo {box_name} conserverà lo storico dei messaggi. Questo "
-"consente la sincronizzazione delle conversazioni tra client multipli, e "
-"leggere la cronologia delle chat room multi utente. La cronologia sarà "
-"salvata in chiaro o in maniera cifrata, a seconda delle impostazioni dei "
-"client."
+"Se abilitato, il proprio {box_name} conserverà lo storico dei messaggi. "
+"Questo consente la sincronizzazione delle conversazioni tra più client e la "
+"lettura della cronologia delle chat room multi utente. La cronologia sarà "
+"salvata in chiaro o cifrata, a seconda delle impostazioni del client."
#: plinth/modules/ejabberd/forms.py:36 plinth/modules/matrixsynapse/forms.py:38
msgid "Automatically manage audio/video call setup"
@@ -2203,13 +2216,12 @@ msgid "Xabber"
msgstr "Xabber"
#: plinth/modules/ejabberd/manifest.py:26
-#, fuzzy
msgid ""
"Open source Jabber (XMPP) client with multi-account support and clean and "
"simple interface. "
msgstr ""
-"Client Jabber (XMPP) a codice sorgente aperto, con supporto ai profili "
-"multipli, e con un'interfaccia semplice e pulita. "
+"Client Jabber (XMPP) open source con supporto multi utenza ed un'interfaccia "
+"semplice e pulita. "
#: plinth/modules/ejabberd/manifest.py:41
msgid "Yaxim"
@@ -3180,7 +3192,7 @@ msgstr "Contribuire"
#: plinth/templates/base.html:224 plinth/templates/help-menu.html:46
#: plinth/templates/help-menu.html:47 plinth/templates/index.html:96
msgid "About"
-msgstr "Su"
+msgstr "Informazioni"
#: plinth/modules/help/templates/help_about.html:25
#: plinth/templates/messages.html:23
@@ -3209,7 +3221,7 @@ msgid "%(box_name)s is up to date."
msgstr "%(box_name)s è aggiornato."
#: plinth/modules/help/templates/help_about.html:49
-#, fuzzy, python-format
+#, python-format
msgid ""
"%(box_name)s is a community project to develop, design and promote personal "
"servers running free software for private, personal communications. It is a "
@@ -3221,11 +3233,12 @@ msgid ""
msgstr ""
"%(box_name)s è un progetto comune per sviluppare, progettare e promuovere "
"l'uso di server personali, che eseguono software libero, per gestire "
-"comunicazioni private. È un dispositivo di rete progettato per "
-"interfacciarsi col resto dell'Internet in condizioni di privacy protetta e "
-"di sicurezza dei dati. Ospita applicazioni come blog, wiki, siti web, social "
-"network, email, proxy web e relay Tor, in un dispositivo che può rimpiazzare "
-"il tuo router WiFi, in modo che i tuoi dati restino con te."
+"comunicazioni private. È un dispositivo di rete concepito per permettere la "
+"connessione ad Internet mantenendo la riservatezza e la sicurezza dei dati. "
+"Include applicazioni quali blog, wiki, sito web, social network, posta "
+"elettronica, proxy web e Tor relay, integrato in un dispositivo in grado di "
+"rimpiazzare il tuo router Wi-Fi, in modo che i tuoi dati rimangono sotto il "
+"tuo controllo."
#: plinth/modules/help/templates/help_about.html:62
msgid ""
@@ -3246,14 +3259,15 @@ msgstr ""
"suoi creatori."
#: plinth/modules/help/templates/help_about.html:75
-#, fuzzy, python-format
+#, python-format
msgid ""
"There are a number of projects working to realize a future of distributed "
"services; %(box_name)s aims to bring them all together in a convenient "
"package."
msgstr ""
-"Ci sono numerosi progetti mirati a realizzare futuri servizi distribuiti. "
-"%(box_name)s mira a portarli tutti insieme in un apposito pacchetto."
+"Esistono vari progetti mirati a realizzare un futuro fatto di servizi "
+"distribuiti; %(box_name)s intende raccoglierli tutti in un'unica soluzione "
+"pratica e unificata."
#: plinth/modules/help/templates/help_about.html:83
#, python-format
@@ -3460,9 +3474,9 @@ msgid ""
"a> channel using the IRC web interface."
msgstr ""
"Molti contributori e utenti %(box_name)s sono disponibili nella rete IRC "
-"irc.oftc.net. Unisciti e chiedi aiuto a nel canale #freedombox"
-"a> usando l'interfaccia web IRC."
+"irc.oftc.net. Unisciti a loro e chiedi aiuto nel canale "
+"#freedombox usando l'interfaccia web IRC."
#: plinth/modules/help/templates/help_manual.html:18
msgid "Download as PDF"
@@ -3507,9 +3521,9 @@ msgid "Documentation and FAQ"
msgstr "FAQ e documentazione"
#: plinth/modules/help/views.py:96
-#, fuzzy, python-brace-format
+#, python-brace-format
msgid "About {box_name}"
-msgstr "Sul {box_name}"
+msgstr "Informazioni su {box_name}"
#: plinth/modules/help/views.py:133
#, python-brace-format
@@ -3681,9 +3695,9 @@ msgid "Delete site %(site)s"
msgstr "Cancella sito %(site)s"
#: plinth/modules/ikiwiki/templates/ikiwiki_delete.html:12
-#, fuzzy, python-format
+#, python-format
msgid "Delete Wiki or Blog %(name)s"
-msgstr "Cancella Wiki e Blog%(name)s"
+msgstr "Cancella il Wiki o il Blog%(name)s"
#: plinth/modules/ikiwiki/templates/ikiwiki_delete.html:18
msgid ""
@@ -3724,9 +3738,8 @@ msgid "Could not delete {title}: {error}"
msgstr "Non è stato possibile cancellare {title}: {error}"
#: plinth/modules/infinoted/__init__.py:20
-#, fuzzy
msgid "infinoted is a server for Gobby, a collaborative text editor."
-msgstr "infinoted è un server per Gobby, un editore testuale comunitario."
+msgstr "infinoted è un server per Gobby, un editore di testo collaborativo."
#: plinth/modules/infinoted/__init__.py:22
#, fuzzy, python-brace-format
@@ -4241,8 +4254,9 @@ msgid ""
msgstr ""
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:44
+#, fuzzy
msgid "Registration Token"
-msgstr ""
+msgstr "Token di registrazione"
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Uses Allowed"
@@ -4250,11 +4264,11 @@ msgstr ""
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Pending Registrations"
-msgstr ""
+msgstr "Registrazione in attesa"
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Completed Registrations"
-msgstr ""
+msgstr "Registrazioni completate"
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:48
msgid "Expiry Time"
@@ -4364,7 +4378,7 @@ msgstr ""
#: plinth/modules/mediawiki/forms.py:71
msgid "Site Name"
-msgstr ""
+msgstr "Nome del sito"
#: plinth/modules/mediawiki/forms.py:72
msgid "Name of the site as displayed throughout the wiki."
@@ -4814,8 +4828,9 @@ msgid "SuperUser password successfully updated."
msgstr ""
#: plinth/modules/mumble/views.py:48
+#, fuzzy
msgid "Join password changed"
-msgstr ""
+msgstr "Password di registrazione modificata"
#: plinth/modules/mumble/views.py:53
msgid "Root channel name changed."
@@ -4831,8 +4846,9 @@ msgid ""
msgstr ""
#: plinth/modules/names/__init__.py:55
+#, fuzzy
msgid "Name Services"
-msgstr "Name Services"
+msgstr "Servizi nome"
#: plinth/modules/names/__init__.py:69
msgid "Domain (regular)"
@@ -4886,7 +4902,6 @@ msgstr ""
"superiore a 63 caratteri."
#: plinth/modules/names/forms.py:92
-#, fuzzy
msgid "Invalid hostname"
msgstr "Hostname non valido"
@@ -4909,10 +4924,8 @@ msgstr ""
"del nome di dominio non deve superare i 253 caratreri."
#: plinth/modules/names/manifest.py:13
-#, fuzzy
-#| msgid "Evolution"
msgid "DNS Resolution"
-msgstr "DNS Resolution"
+msgstr "Risoluzione DNS"
#: plinth/modules/names/resolved.py:91 plinth/modules/names/resolved.py:101
#: plinth/modules/networks/forms.py:28
@@ -5512,7 +5525,6 @@ msgid "cable is connected"
msgstr "il cavo è connesso"
#: plinth/modules/networks/templates/connection_show.html:124
-#, fuzzy
msgid "please check cable"
msgstr "controlla il cavo per favore"
@@ -5577,8 +5589,9 @@ msgstr "Questa connessione non è attiva."
#: plinth/modules/openvpn/manifest.py:60 plinth/modules/privacy/__init__.py:38
#: plinth/modules/privacy/__init__.py:77
#: plinth/modules/wireguard/manifest.py:45
+#, fuzzy
msgid "Privacy"
-msgstr ""
+msgstr "Privacy"
#: plinth/modules/networks/templates/connection_show.html:279
#: plinth/modules/networks/templates/connection_show.html:304
@@ -6822,9 +6835,9 @@ msgid ""
") and your user name. DAVx5 will show all existing "
"calendars and address books and you can create new."
msgstr ""
-"Inserisci l'URL del server Radicale (p.es. https://"
-") e il tuo nome utente. DAVx5 mostrerà tutti i "
-"calendari e le rubriche esistenti, e potrai crearne di nuovi."
+"Inserisci l'URL del server Radicale (per esempio https://) e il tuo nome "
+"utente. DAVx5 mostrerà tutti i calendari e le rubriche esistenti, e potrai "
+"crearne di nuovi."
#: plinth/modules/radicale/manifest.py:28 plinth/modules/sogo/manifest.py:51
msgid "GNOME Calendar"
@@ -6910,8 +6923,9 @@ msgid ""
msgstr ""
#: plinth/modules/roundcube/manifest.py:23
+#, fuzzy
msgid "Email"
-msgstr ""
+msgstr "Email"
#: plinth/modules/rssbridge/__init__.py:21
msgid ""
@@ -6925,6 +6939,8 @@ msgid ""
"When enabled, RSS-Bridge can be accessed by any "
"user belonging to the feed-reader group."
msgstr ""
+"Quando è abilitato, RSS-Bridge è accessibile da "
+"qualsiasi utente appartenente al gruppo di feed-reader."
#: plinth/modules/rssbridge/__init__.py:28
#, python-brace-format
@@ -7303,7 +7319,7 @@ msgstr "Shaarli"
#: plinth/modules/shaarli/manifest.py:12
msgid "Shaarlier"
-msgstr ""
+msgstr "Shaarlier"
#: plinth/modules/shaarli/manifest.py:34
msgid "Bookmarks"
@@ -9607,20 +9623,17 @@ msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/setup.py:44
-#, fuzzy
-#| msgid "Install Apps"
msgid "Installing app"
-msgstr "Installa App"
+msgstr "Installazione app"
#: plinth/setup.py:46
msgid "Updating app"
msgstr ""
#: plinth/setup.py:80
-#, fuzzy, python-brace-format
-#| msgid "Error installing application: {error}"
+#, python-brace-format
msgid "Error installing app: {exception}"
-msgstr "Errore durante l'installazione dell'applicazione: {exception}"
+msgstr "Errore durante l'installazione dell'app: {exception}"
#: plinth/setup.py:82
#, python-brace-format
@@ -9633,10 +9646,8 @@ msgid "Error updating app: {exception}"
msgstr "Errore nell'aggiornamento dell'applicazione: {exception}"
#: plinth/setup.py:87
-#, fuzzy
-#| msgid "Application installed."
msgid "App installed."
-msgstr "Applicazione installata."
+msgstr "App installata."
#: plinth/setup.py:91
msgid "App updated"
@@ -10018,8 +10029,6 @@ msgid "View Logs"
msgstr ""
#: plinth/templates/toolbar.html:46 plinth/templates/toolbar.html:47
-#, fuzzy
-#| msgid "Backups"
msgid "Backup"
msgstr "Backup"
From 0c6335b9dfa7498a53439d8165bf4318ce736ba8 Mon Sep 17 00:00:00 2001
From: Sunil Mohan Adapa
Date: Fri, 12 Dec 2025 13:27:42 +0530
Subject: [PATCH 16/24] minetest: Remove legacy code, use new name, conf, etc.
- Update link in copyright file to the logo.
- Update paths to configuration file. Drop hack to load old configuration path.
Migrate old configuration file to new path.
- Use newer package name instead of transitional package name.
- Use newer systemd unit name instead of aliased one.
- Update backup/restore paths.
- Drop code to handle configuration file update. This upgrade was done during
Bookworm cycle. It is not needed for upgrade from Bookworm to Trixie.
- Fix understanding of default values for keys not present in the configuration
file. These values are picked up from source code as the documentation does not
mention them.
Tests:
- Run unit and minetest functional tests.
- After the app is freshly installed. Max users is 15. PvP is enabled. Create
mode is disabled. Damaged is enabled.
- Changes in configuration are reflected.
- Play a game and make some changes. Update configuration. Backup. Uninstall and
restore. The player data is restored. Configuration is restored.
- Install without the changes. Make configuration changes. Apply changes and
remove obsolete files. Restart service. App is updated. Notice that
configuration file is migrated to new path. Configuration options are retained.
Signed-off-by: Sunil Mohan Adapa
Reviewed-by: James Valleroy
---
debian/copyright | 2 +-
plinth/modules/minetest/__init__.py | 62 ++++++++-----------
.../minetest-server.service.d/freedombox.conf | 4 --
plinth/modules/minetest/manifest.py | 6 +-
plinth/modules/minetest/privileged.py | 30 +++++++--
5 files changed, 56 insertions(+), 48 deletions(-)
delete mode 100644 plinth/modules/minetest/data/usr/lib/systemd/system/minetest-server.service.d/freedombox.conf
diff --git a/debian/copyright b/debian/copyright
index 8e37e5817..7dcacf8da 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -183,7 +183,7 @@ License: CC-BY-SA-3.0
Files: plinth/modules/minetest/static/icons/minetest.svg
Copyright: 2015 Calinou, Nils Dagsson Moskopp
-Comment: https://github.com/minetest/minetest/blob/master/misc/minetest.svg
+Comment: https://github.com/luanti-org/luanti/blob/master/misc/luanti.svg
License: CC-BY-SA-3.0
Files: plinth/modules/miniflux/static/icons/miniflux.png
diff --git a/plinth/modules/minetest/__init__.py b/plinth/modules/minetest/__init__.py
index 4a5bb33a4..b287aa802 100644
--- a/plinth/modules/minetest/__init__.py
+++ b/plinth/modules/minetest/__init__.py
@@ -11,8 +11,8 @@ from plinth.daemon import Daemon
from plinth.modules.backups.components import BackupRestore
from plinth.modules.firewall.components import Firewall
from plinth.modules.users.components import UsersAndGroups
-from plinth.package import Package, Packages, install
-from plinth.utils import Version, format_lazy
+from plinth.package import Package, Packages
+from plinth.utils import format_lazy
from . import manifest, privileged
@@ -38,7 +38,7 @@ _description = [
'is needed.'), box_name=_(cfg.box_name)),
]
-CONFIG_FILE = '/etc/minetest/minetest.conf'
+CONFIG_FILE = '/etc/luanti/default.conf'
AUG_PATH = '/files' + CONFIG_FILE + '/.anon'
@@ -47,18 +47,18 @@ class MinetestApp(app_module.App):
app_id = 'minetest'
- _version = 2
+ _version = 3
def __init__(self) -> None:
"""Create components for the app."""
super().__init__()
- info = app_module.Info(
- app_id=self.app_id, version=self._version, name=_('Luanti'),
- icon_filename='minetest', description=_description,
- manual_page='Minetest', clients=manifest.clients,
- tags=manifest.tags,
- donation_url='https://www.luanti.org/donate/')
+ info = app_module.Info(app_id=self.app_id, version=self._version,
+ name=_('Luanti'), icon_filename='minetest',
+ description=_description,
+ manual_page='Minetest',
+ clients=manifest.clients, tags=manifest.tags,
+ donation_url='https://www.luanti.org/donate/')
self.add(info)
menu_item = menu.Menu('menu-minetest', info.name, info.icon_filename,
@@ -73,14 +73,14 @@ class MinetestApp(app_module.App):
tags=info.tags, login_required=False)
self.add(shortcut)
- packages = Packages('packages-minetest', ['minetest-server'] + _mods)
+ packages = Packages('packages-minetest', ['luanti-server'] + _mods)
self.add(packages)
firewall = Firewall('firewall-minetest', info.name,
ports=['minetest-plinth'], is_external=True)
self.add(firewall)
- daemon = Daemon('daemon-minetest', 'minetest-server',
+ daemon = Daemon('daemon-minetest', 'luanti-server',
listen_ports=[(30000, 'udp4')])
self.add(daemon)
@@ -93,27 +93,17 @@ class MinetestApp(app_module.App):
**manifest.backup)
self.add(backup_restore)
- def setup(self, old_version):
+ def setup(self, old_version) -> None:
"""Install and configure the app."""
super().setup(old_version)
+ privileged.setup()
if not old_version:
self.enable()
- def force_upgrade(self, packages):
- """Force upgrade minetest to resolve conffile prompt."""
- if 'minetest-server' not in packages:
- return False
-
- # Allow upgrade from 5.3.0 to 5.6.1
- package = packages['minetest-server']
- if Version(package['new_version']) > Version('5.7~'):
- return False
-
- config = get_configuration()
- install(['minetest-server'], force_configuration='new')
- privileged.configure(**config)
-
- return True
+ def uninstall(self) -> None:
+ """Uninstall the app."""
+ super().uninstall()
+ privileged.uninstall()
def load_augeas():
@@ -126,32 +116,34 @@ def load_augeas():
return aug
-def get_max_players(aug):
+def get_max_players(aug) -> int:
"""Return the maximum players allowed on the server at one time."""
value = aug.get(AUG_PATH + '/max_users')
if value:
return int(value)
+ return 15 # Default value
-def is_creative_mode_enabled(aug):
+
+def is_creative_mode_enabled(aug) -> bool:
"""Return whether creative mode is enabled."""
value = aug.get(AUG_PATH + '/creative_mode')
return value == 'true'
-def is_pvp_enabled(aug):
+def is_pvp_enabled(aug) -> bool:
"""Return whether PVP is enabled."""
value = aug.get(AUG_PATH + '/enable_pvp')
- return value == 'true'
+ return value != 'false'
-def is_damage_enabled(aug):
+def is_damage_enabled(aug) -> bool:
"""Return whether damage is enabled."""
value = aug.get(AUG_PATH + '/enable_damage')
- return value == 'true'
+ return value != 'false'
-def get_configuration():
+def get_configuration() -> dict[str, int | bool]:
"""Return the current configuration."""
aug = load_augeas()
conf = {
diff --git a/plinth/modules/minetest/data/usr/lib/systemd/system/minetest-server.service.d/freedombox.conf b/plinth/modules/minetest/data/usr/lib/systemd/system/minetest-server.service.d/freedombox.conf
deleted file mode 100644
index 6a3d7483a..000000000
--- a/plinth/modules/minetest/data/usr/lib/systemd/system/minetest-server.service.d/freedombox.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-# Workaround for Debian bug #1090067
-[Service]
-ExecStart=
-ExecStart=/usr/bin/sh -c 'if [ -e /etc/minetest/minetest.conf ] ; then CONFIG_FILE=/etc/minetest/minetest.conf; else CONFIG_FILE=/etc/luanti/default.conf; fi; if [ -x /usr/lib/minetest/minetestserver ] ; then /usr/lib/minetest/minetestserver --config $$CONFIG_FILE --logfile /var/log/minetest/minetest.log --gameid minetest_game; else exec /usr/libexec/luanti/luantiserver --config $$CONFIG_FILE --logfile /var/log/luanti/default/server.log --gameid $LUANTI_GAMEID; fi'
diff --git a/plinth/modules/minetest/manifest.py b/plinth/modules/minetest/manifest.py
index 27c65380d..737a7bc75 100644
--- a/plinth/modules/minetest/manifest.py
+++ b/plinth/modules/minetest/manifest.py
@@ -38,12 +38,12 @@ clients = [{
backup = {
'config': {
- 'files': ['/etc/minetest/minetest.conf']
+ 'files': ['/etc/luanti/default.conf']
},
'data': {
- 'directories': ['/var/games/minetest-server/']
+ 'directories': ['/var/lib/private/luanti/default/']
},
- 'services': ['minetest-server']
+ 'services': ['luanti-server']
}
tags = [_('Game server'), _('Block sandbox'), _('Platform')]
diff --git a/plinth/modules/minetest/privileged.py b/plinth/modules/minetest/privileged.py
index 3bfbd3e40..17745f4d1 100644
--- a/plinth/modules/minetest/privileged.py
+++ b/plinth/modules/minetest/privileged.py
@@ -2,14 +2,25 @@
"""Configure Minetest server."""
import pathlib
+import shutil
import augeas
from plinth import action_utils
from plinth.actions import privileged
-CONFIG_FILE = '/etc/minetest/minetest.conf'
-AUG_PATH = '/files' + CONFIG_FILE + '/.anon'
+old_config_file = pathlib.Path('/etc/minetest/minetest.conf')
+config_file = pathlib.Path('/etc/luanti/default.conf')
+AUG_PATH = '/files' + str(config_file) + '/.anon'
+
+
+@privileged
+def setup() -> None:
+ """Migrate old configuration file."""
+ if old_config_file.exists():
+ old_config_file.rename(config_file)
+ action_utils.service_daemon_reload()
+ action_utils.service_try_restart('luanti-server')
@privileged
@@ -17,7 +28,7 @@ def configure(max_players: int | None = None, enable_pvp: bool | None = None,
creative_mode: bool | None = None,
enable_damage: bool | None = None):
"""Update configuration file and restart daemon if necessary."""
- pathlib.Path(CONFIG_FILE).parent.mkdir(exist_ok=True)
+ config_file.parent.mkdir(exist_ok=True)
aug = load_augeas()
if max_players is not None:
aug.set(AUG_PATH + '/max_users', str(max_players))
@@ -32,7 +43,7 @@ def configure(max_players: int | None = None, enable_pvp: bool | None = None,
aug.set(AUG_PATH + '/enable_damage', str(enable_damage).lower())
aug.save()
- action_utils.service_try_restart('minetest-server')
+ action_utils.service_try_restart('luanti-server')
def load_augeas():
@@ -40,6 +51,15 @@ def load_augeas():
aug = augeas.Augeas(flags=augeas.Augeas.NO_LOAD +
augeas.Augeas.NO_MODL_AUTOLOAD)
aug.set('/augeas/load/Php/lens', 'Php.lns')
- aug.set('/augeas/load/Php/incl[last() + 1]', CONFIG_FILE)
+ aug.set('/augeas/load/Php/incl[last() + 1]', str(config_file))
aug.load()
return aug
+
+
+@privileged
+def uninstall() -> None:
+ """Remove the data directory that luanti-server package fails to remove.
+
+ See: https://bugs.debian.org/1122677
+ """
+ shutil.rmtree('/var/lib/private/luanti/default/')
From 54bebd7269558b4b1dc08ebdc91af3e652987d3b Mon Sep 17 00:00:00 2001
From: Sunil Mohan Adapa
Date: Sat, 13 Dec 2025 12:33:24 +0530
Subject: [PATCH 17/24] transmission: Deal with changes in latest forky package
Fixes: #2555
- '-' in configuration keys changed to '_'. Write both old and new keys to the
configuration file so that same code works for both versions of transmission.
Extra keys are ignored and removed from the configuration by the transmission
daemon.
- When reading the configuration for download directory account for both old and
new keys.
- Update functional tests for change in ID for delete torrent button.
Tests:
- Run functional tests on trixie and forky VM.
- On trixie and forky VM, after the app is installed, the configuration values
are set as expected in the configuration file. Transmission does not show its
own authentication dialog. FreedomBox SSO works as expected.
- On trixie and forky, updating the download dir in FreedomBox app changes the
values in the web UI.
- On forky, install transmission using old code and sources.list updated to
trixie. Change the download directory. Stop service. Then update the
sources.list to forky, apply patches and start service. Run unattended-upgrades.
Notice that the earlier set download directory persists. Two configuration
values for rpc also are as expected.
Signed-off-by: Sunil Mohan Adapa
Reviewed-by: James Valleroy
---
plinth/modules/transmission/__init__.py | 26 +++++++++++++++----
.../transmission/tests/test_functional.py | 10 ++++---
plinth/modules/transmission/views.py | 6 ++---
3 files changed, 30 insertions(+), 12 deletions(-)
diff --git a/plinth/modules/transmission/__init__.py b/plinth/modules/transmission/__init__.py
index 92ef05598..5c31c6ed7 100644
--- a/plinth/modules/transmission/__init__.py
+++ b/plinth/modules/transmission/__init__.py
@@ -91,7 +91,8 @@ class TransmissionApp(app_module.App):
allowed_groups=list(groups))
self.add(shortcut)
- packages = Packages('packages-transmission', ['transmission-daemon'])
+ packages = Packages('packages-transmission', ['transmission-daemon'],
+ rerun_setup_on_upgrade=True)
self.add(packages)
dropin_configs = DropinConfigs('dropin-configs-transmission', [
@@ -135,15 +136,30 @@ class TransmissionApp(app_module.App):
"""Install and configure the app."""
super().setup(old_version)
- if old_version and old_version <= 3 and self.is_enabled():
- self.get_component('firewall-transmission').enable()
-
new_configuration = {
'rpc-whitelist-enabled': False,
- 'rpc-authentication-required': False
+ 'rpc_whitelist_enabled': False,
+ 'rpc-authentication-required': False,
+ 'rpc_authentication_required': False,
}
+
+ if old_version:
+ download_dir = get_download_dir()
+ new_configuration['download-dir'] = download_dir
+ new_configuration['download_dir'] = download_dir
+
privileged.merge_configuration(new_configuration)
add_user_to_share_group(SYSTEM_USER, TransmissionApp.DAEMON)
if not old_version:
self.enable()
+
+
+def get_download_dir() -> str:
+ """Return the configured download directory."""
+ configuration = privileged.get_configuration()
+ old = configuration.get('download-dir') # Trixie and older
+ if old:
+ return old
+
+ return configuration.get('download_dir') # Forky and newer
diff --git a/plinth/modules/transmission/tests/test_functional.py b/plinth/modules/transmission/tests/test_functional.py
index 2b0981431..33773f493 100644
--- a/plinth/modules/transmission/tests/test_functional.py
+++ b/plinth/modules/transmission/tests/test_functional.py
@@ -6,9 +6,10 @@ Functional, browser based tests for transmission app.
import os
import pytest
-from plinth.tests import functional
from splinter.exceptions import ElementDoesNotExist
+from plinth.tests import functional
+
pytestmark = [pytest.mark.apps, pytest.mark.transmission, pytest.mark.sso]
@@ -57,9 +58,10 @@ def _remove_all_torrents(browser):
break
torrents.first.click()
- functional.eventually(browser.is_element_not_present_by_css,
- args=['#toolbar-remove.disabled'])
- browser.find_by_id('toolbar-remove').click()
+ functional.eventually(
+ browser.is_element_not_present_by_css,
+ args=['#toolbar-remove.disabled,#toolbar-delete.disabled'])
+ browser.find_by_css('#toolbar-remove,#toolbar-delete').first.click()
functional.eventually(
browser.is_element_not_present_by_css,
args=['#dialog-container[style="display: none;"]'])
diff --git a/plinth/modules/transmission/views.py b/plinth/modules/transmission/views.py
index eab746dfd..8f0561c53 100644
--- a/plinth/modules/transmission/views.py
+++ b/plinth/modules/transmission/views.py
@@ -11,7 +11,7 @@ from django.utils.translation import gettext as _
from plinth import views
-from . import privileged
+from . import get_download_dir, privileged
from .forms import TransmissionForm
logger = logging.getLogger(__name__)
@@ -25,8 +25,7 @@ class TransmissionAppView(views.AppView):
def get_initial(self):
"""Get the current settings from Transmission server."""
status = super().get_initial()
- configuration = privileged.get_configuration()
- status['storage_path'] = configuration['download-dir']
+ status['storage_path'] = get_download_dir()
status['hostname'] = socket.gethostname()
return status
@@ -38,6 +37,7 @@ class TransmissionAppView(views.AppView):
if old_status['storage_path'] != new_status['storage_path']:
new_configuration = {
'download-dir': new_status['storage_path'],
+ 'download_dir': new_status['storage_path'],
}
privileged.merge_configuration(new_configuration)
messages.success(self.request, _('Configuration updated'))
From 912d868146c83f68073f415f3279997843d6727b Mon Sep 17 00:00:00 2001
From: bsurajpatra
Date: Mon, 15 Dec 2025 05:41:42 +0100
Subject: [PATCH 18/24] Translated using Weblate (Hindi)
Currently translated at 45.1% (848 of 1880 strings)
---
plinth/locale/hi/LC_MESSAGES/django.po | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/plinth/locale/hi/LC_MESSAGES/django.po b/plinth/locale/hi/LC_MESSAGES/django.po
index 083a07449..f618f410e 100644
--- a/plinth/locale/hi/LC_MESSAGES/django.po
+++ b/plinth/locale/hi/LC_MESSAGES/django.po
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-04-29 16:30+0000\n"
-"Last-Translator: Thulasi Edhala \n"
+"PO-Revision-Date: 2025-12-16 01:15+0000\n"
+"Last-Translator: bsurajpatra \n"
"Language-Team: Hindi \n"
"Language: hi\n"
@@ -17,7 +17,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.15.1-dev\n"
#: plinth/config.py:103
#, python-brace-format
@@ -1600,6 +1600,7 @@ msgstr ""
#: plinth/modules/coturn/templates/coturn.html:15
msgid "Use the following URLs to configure your communication server:"
msgstr ""
+"अपने कम्युनिकेशन सर्वर को कॉन्फ़िगर करने के लिए निम्नलिखित URL का उपयोग करें:"
#: plinth/modules/coturn/templates/coturn.html:24
#, fuzzy
@@ -1620,7 +1621,7 @@ msgstr "तारीख और समय"
#: plinth/modules/datetime/__init__.py:123
msgid "Time synchronized to NTP server"
-msgstr ""
+msgstr "समय NTP सर्वर के साथ सिंक्रोनाइज़ किया गया"
#: plinth/modules/datetime/forms.py:18
msgid "Time Zone"
From 3ee9468c88cb895984f38db9b80906cbe5ae60de Mon Sep 17 00:00:00 2001
From: OwlGale
Date: Mon, 15 Dec 2025 15:17:58 +0100
Subject: [PATCH 19/24] Translated using Weblate (Russian)
Currently translated at 100.0% (1880 of 1880 strings)
---
plinth/locale/ru/LC_MESSAGES/django.po | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po
index 21f66daf5..1d18b4285 100644
--- a/plinth/locale/ru/LC_MESSAGES/django.po
+++ b/plinth/locale/ru/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-12-14 09:00+0000\n"
+"PO-Revision-Date: 2025-12-16 01:15+0000\n"
"Last-Translator: OwlGale \n"
"Language-Team: Russian \n"
@@ -18,7 +18,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.15-dev\n"
+"X-Generator: Weblate 5.15.1-dev\n"
#: plinth/config.py:103
#, python-brace-format
@@ -7032,7 +7032,7 @@ msgstr "Внешние сервисы"
#: plinth/modules/privacy/manifest.py:10
msgid "Fallback DNS"
-msgstr "Падение DNS"
+msgstr "Резервный DNS"
#: plinth/modules/privoxy/__init__.py:25
msgid ""
From 1bd6e20a079fb7108859af196149486263fd1a6e Mon Sep 17 00:00:00 2001
From: Pierfrancesco Passerini
Date: Mon, 15 Dec 2025 15:06:44 +0100
Subject: [PATCH 20/24] Translated using Weblate (Italian)
Currently translated at 56.9% (1070 of 1880 strings)
---
plinth/locale/it/LC_MESSAGES/django.po | 532 ++++++++++++++++++-------
1 file changed, 385 insertions(+), 147 deletions(-)
diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po
index 9ebec79bd..023199208 100644
--- a/plinth/locale/it/LC_MESSAGES/django.po
+++ b/plinth/locale/it/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-09 01:26+0000\n"
-"PO-Revision-Date: 2025-12-14 09:00+0000\n"
+"PO-Revision-Date: 2025-12-16 01:16+0000\n"
"Last-Translator: Pierfrancesco Passerini \n"
"Language-Team: Italian \n"
@@ -17,7 +17,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.15-dev\n"
+"X-Generator: Weblate 5.15.1-dev\n"
#: plinth/config.py:103
#, python-brace-format
@@ -1145,7 +1145,7 @@ msgstr "Indirizzi IP"
#: plinth/modules/bind/templates/bind.html:37
#: plinth/modules/bind/templates/bind.html:39
msgid "Refresh IP address and domains"
-msgstr ""
+msgstr "Aggiorna l'indirizzo IP e i domini"
#: plinth/modules/bind/views.py:61 plinth/modules/config/views.py:67
#: plinth/modules/coturn/views.py:40 plinth/modules/deluge/views.py:35
@@ -1170,6 +1170,9 @@ msgid ""
"store your e-books on your {box_name}, read them online or from any of your "
"devices."
msgstr ""
+"il server calibre fornisce accesso in linea alla propria collezione di e-"
+"book. Puoi archiviarli nel proprio {box_name}, leggerli in linea o da "
+"qualsiasi dispositivo."
#: plinth/modules/calibre/__init__.py:27
msgid ""
@@ -1179,16 +1182,26 @@ msgid ""
"an online web reader. It remembers your last read location, bookmarks, and "
"highlighted text. Content distribution using OPDS is currently not supported."
msgstr ""
+"Puoi organizzare gli e-book, estrarre e modificarne i metadati ed effettuare "
+"ricerche avanzate. Calibre può importare, esportare o convertire un gran "
+"numero di formati per rendere gli e-book pronti per essere letti su "
+"qualsiasi dispositivo. Fornisce anche un lettore web in linea. Memorizza "
+"l'ultima posizione che abbiamo letto, supporta i segnalibri e "
+"l'evidenziazione del testo. La distribuzione di contenuti tramite OPDS non è "
+"attualmente supportata."
#: plinth/modules/calibre/__init__.py:33
msgid ""
"Only users belonging to calibre group will be able to access the "
"app. All users with access can use all the libraries."
msgstr ""
+"Solo gli utenti appartenenti al gruppo calibre saranno in grado di "
+"accedere all'app. Gli utenti abilitati all'accesso, possono usare tutte le "
+"biblioteche."
#: plinth/modules/calibre/__init__.py:53
msgid "Use calibre e-book libraries"
-msgstr ""
+msgstr "Usa le biblioteche di e-book di calibre"
#: plinth/modules/calibre/__init__.py:56 plinth/modules/calibre/manifest.py:6
msgid "calibre"
@@ -1203,6 +1216,8 @@ msgid ""
"Only letters of the English alphabet, numbers and the characters _ . and - "
"without spaces or special characters. Example: My_Library_2000"
msgstr ""
+"Soltanto le lettere dell'alfabeto inglese, numeri e i caratteri _ . e - "
+"senza spazi o caratteri speciali. Esempio: La_Mia_Libreria_2000"
#: plinth/modules/calibre/forms.py:28
msgid "A library with this name already exists."
@@ -1230,6 +1245,8 @@ msgid ""
"Delete this library permanently? All stored e-books and saved data will be "
"lost."
msgstr ""
+"Eliminare definitivamente questa biblioteca? Tutti gli e-book archiviati e i "
+"dati salvati saranno persi."
#: plinth/modules/calibre/templates/calibre-delete-library.html:27
#: plinth/modules/gitweb/templates/gitweb_delete.html:27
@@ -1256,7 +1273,7 @@ msgstr "Non ci sono librerie disponibile."
#: plinth/modules/calibre/templates/calibre.html:31
#, python-format
msgid "Go to library %(library)s"
-msgstr ""
+msgstr "Vai alla biblioteca %(library)s"
#: plinth/modules/calibre/templates/calibre.html:37
#, python-format
@@ -1305,6 +1322,11 @@ msgid ""
"firewall ports and advanced networking such as bonding, bridging and VLAN "
"management."
msgstr ""
+"Cockpit può essere usato per svolgere operazioni avanzate di gestione dello "
+"storage, come la partizione dei dischi e la configurazione di RAID. Inoltre "
+"consente di aprire porte personalizzate del firewall e di effettuare "
+"configurazioni di rete avanzate, come bonding, bridging e gestione delle "
+"VLAN."
#: plinth/modules/cockpit/__init__.py:34
#, python-brace-format
@@ -1374,9 +1396,9 @@ msgid "Configure"
msgstr "Configura"
#: plinth/modules/config/forms.py:24
-#, python-brace-format
+#, fuzzy, python-brace-format
msgid "{user}'s website"
-msgstr ""
+msgstr "sito web di {user}"
#: plinth/modules/config/forms.py:26
#, fuzzy
@@ -1388,7 +1410,6 @@ msgid "FreedomBox Service (Plinth)"
msgstr "Servizio FreedomBox (Plinth)"
#: plinth/modules/config/forms.py:35
-#, fuzzy
msgid "Webserver Home Page"
msgstr "Pagina iniziale del server web"
@@ -1459,9 +1480,8 @@ msgid "Error setting webserver home page: {exception}"
msgstr "Errore impostazione home page server web: {exception}"
#: plinth/modules/config/views.py:44
-#, fuzzy
msgid "Webserver home page set"
-msgstr "Impostato home page del webserver"
+msgstr "Impostazione della pagina iniziale del webserver"
#: plinth/modules/config/views.py:52
#, python-brace-format
@@ -1483,14 +1503,21 @@ msgid ""
"other communication servers can use it to establish a call between parties "
"who are otherwise unable connect to each other."
msgstr ""
+"Coturn è un server che semplifica le chiamate audio/video e le conferenze "
+"fornendo un'implementazione dei protocolli TURN e STUN. Può essere usato, "
+"tra gli altri, dai server di comunicazione WebRTC, SIP per stabilire una "
+"connessione tra le parti che altrimenti non sarebbero in grado di comunicare."
#: plinth/modules/coturn/__init__.py:31
-#, python-brace-format
+#, fuzzy, python-brace-format
msgid ""
"It is not meant to be used directly by users. Servers such as Matrix Synapse or ejabberd "
"need to be configured with the details provided here."
msgstr ""
+"Non è pensato per essere usato direttamente dagli utenti. I server come Matrix Synapse o ejabberd "
+"devono essere configurati con i seguenti dettagli."
#: plinth/modules/coturn/__init__.py:53
msgid "Coturn"
@@ -1498,7 +1525,7 @@ msgstr "Coturn"
#: plinth/modules/coturn/forms.py:23
msgid "Invalid list of STUN/TURN Server URIs"
-msgstr ""
+msgstr "Elenco non valido per URI di server STUN/TURN"
#: plinth/modules/coturn/manifest.py:7 plinth/modules/janus/manifest.py:16
msgid "Video conference"
@@ -1515,10 +1542,12 @@ msgstr ""
#: plinth/modules/coturn/templates/coturn.html:15
msgid "Use the following URLs to configure your communication server:"
msgstr ""
+"Usare i seguenti URL per configurare il proprio server di comunicazione:"
#: plinth/modules/coturn/templates/coturn.html:24
+#, fuzzy
msgid "Use the following shared authentication secret:"
-msgstr ""
+msgstr "Usare i seguenti segreti di autenticazione condivisi:"
#: plinth/modules/datetime/__init__.py:21
msgid ""
@@ -1595,7 +1624,7 @@ msgstr "Deluge"
#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20
#, fuzzy
msgid "Download directory"
-msgstr "Scarica directory"
+msgstr "Download directory"
#: plinth/modules/deluge/manifest.py:7
msgid "Bittorrent client written in Python/PyGTK"
@@ -1653,17 +1682,17 @@ msgstr "fallito"
#: plinth/modules/diagnostics/__init__.py:118
msgid "error"
-msgstr ""
+msgstr "errore"
#: plinth/modules/diagnostics/__init__.py:119
msgid "warning"
-msgstr ""
+msgstr "attenzione"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
msgid "MiB"
-msgstr ""
+msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
@@ -1673,11 +1702,11 @@ msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
msgid "You should disable some apps to reduce memory usage."
-msgstr ""
+msgstr "Dovresti disabilitare alcune app per ridurre l'uso della memoria."
#: plinth/modules/diagnostics/__init__.py:238
msgid "You should not install any new apps on this system."
-msgstr ""
+msgstr "Non dovresti installare nessuna nuova app in questo sistema."
#: plinth/modules/diagnostics/__init__.py:250
#, no-python-format, python-brace-format
@@ -1685,10 +1714,12 @@ msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
+"Il sistema ha poca memoria: {percent_used}% usata, {memory_available} "
+"{memory_available_unit} libera. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
msgid "Low Memory"
-msgstr ""
+msgstr "Memoria insufficiente"
#: plinth/modules/diagnostics/__init__.py:283
msgid "Running diagnostics"
@@ -2001,11 +2032,11 @@ msgstr "Mostra password"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
-msgstr ""
+msgstr "Usare IPv6 invece di IPv4"
#: plinth/modules/dynamicdns/forms.py:108
msgid "This field is required."
-msgstr ""
+msgstr "Questo campo è obbligatorio."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
msgid "Domain already exists."
@@ -2087,15 +2118,15 @@ msgstr "Nessun dominio configurato."
#: plinth/modules/dynamicdns/views.py:26 plinth/modules/dynamicdns/views.py:28
msgid "Connection timed out"
-msgstr "Connessione interrotta per tempo"
+msgstr "Connessione scaduta"
#: plinth/modules/dynamicdns/views.py:27
msgid "Could not find server"
-msgstr ""
+msgstr "Server non raggiungibile"
#: plinth/modules/dynamicdns/views.py:29
msgid "Server refused connection"
-msgstr "Il server rifiuta la connessione"
+msgstr "Il server ha rifiutato la connessione"
#: plinth/modules/dynamicdns/views.py:30
msgid "Already up-to-date"
@@ -2145,6 +2176,9 @@ msgid ""
"ejabberd needs a STUN/TURN server for audio/video calls. Install the Coturn app or configure an external server."
msgstr ""
+"ejabberd necessita di un server STUN/TURN per chiamate audio/video. "
+"Installare l'app Coturn o configurare un server "
+"esterno."
#: plinth/modules/ejabberd/__init__.py:60
msgid "ejabberd"
@@ -2181,23 +2215,25 @@ msgstr ""
#: plinth/modules/ejabberd/forms.py:36 plinth/modules/matrixsynapse/forms.py:38
msgid "Automatically manage audio/video call setup"
-msgstr ""
+msgstr "Gestione automatica della configurazione delle chiamate audio/video"
#: plinth/modules/ejabberd/forms.py:38
-#, python-brace-format
+#, fuzzy, python-brace-format
msgid ""
"Configures the local coturn app as the STUN/TURN "
"server for ejabberd. Disable this if you want to use a different STUN/TURN "
"server."
msgstr ""
+"Configura l'app locale coturn come server STUN/"
+"TURN per ejabberd. Disabilitarla se si vuole usare un altro server STUN/TURN."
#: plinth/modules/ejabberd/forms.py:45 plinth/modules/matrixsynapse/forms.py:47
msgid "STUN/TURN Server URIs"
-msgstr ""
+msgstr "URI del server STUN/TURN"
#: plinth/modules/ejabberd/forms.py:47 plinth/modules/matrixsynapse/forms.py:49
msgid "List of public URIs of the STUN/TURN server, one on each line."
-msgstr ""
+msgstr "Elenco di URI dei server STUN/TURN pubblici, uno per riga."
#: plinth/modules/ejabberd/forms.py:51 plinth/modules/matrixsynapse/forms.py:53
msgid "Shared Authentication Secret"
@@ -2205,7 +2241,7 @@ msgstr "Segreto di autenticazione condiviso"
#: plinth/modules/ejabberd/forms.py:52 plinth/modules/matrixsynapse/forms.py:54
msgid "Shared secret used to compute passwords for the TURN server."
-msgstr ""
+msgstr "Segreto condiviso usato per generare la password del server TURN."
#: plinth/modules/ejabberd/manifest.py:10
msgid "Conversations"
@@ -2298,11 +2334,15 @@ msgid ""
msgstr ""
#: plinth/modules/email/__init__.py:26
+#, fuzzy
msgid ""
"This is a complete email server solution using Postfix, Dovecot, and Rspamd. "
"Postfix sends and receives emails. Dovecot allows email clients to access "
"your mailbox using IMAP and POP3. Rspamd deals with spam."
msgstr ""
+"Questa è una soluzione completa di server email che usa Postfix, Dovecot e "
+"Rspamd. Postfix invia e riceve email. Dovecot permette l'accesso, tramite "
+"IMAP e POP3, alla propria mailbox. Rspamd gestiscelo spam."
#: plinth/modules/email/__init__.py:30
msgid ""
@@ -2321,18 +2361,27 @@ msgid ""
"address. Necessary aliases such as \"postmaster\" are automatically created "
"pointing to the first admin user."
msgstr ""
+"Ogni utente su {box_name} riceve un indirizzo email del tipo "
+"utente@miodominio.esempio. Riceveranno anche mail da ogni indirizzo che "
+"assomiglia a utente+qualcosa@miodominio.esempio. Inoltre, possono aggiungere "
+"alias al loro indirizzo email. Alias essenziali come \"postmaster\" vengono "
+"creati automaticamente e puntano al primo utente amministratore."
#: plinth/modules/email/__init__.py:41
msgid ""
"Roundcube app provides web interface "
"for users to access email."
msgstr ""
+"Roundcube app fornisce "
+"un'interfaccia web per l'accesso degli utenti all'email."
#: plinth/modules/email/__init__.py:43
msgid ""
"During installation, any other email servers in the system will be "
"uninstalled."
msgstr ""
+"Durante l'installazione, qualsiasi altro server di email nel sistema verrà "
+"rimosso."
#: plinth/modules/email/__init__.py:62
msgid "Postfix/Dovecot"
@@ -2348,7 +2397,7 @@ msgstr ""
#: plinth/modules/email/__init__.py:82
msgid "My Email Aliases"
-msgstr "I miei alias e-mail"
+msgstr "I propri alias di email"
#: plinth/modules/email/forms.py:24
msgid "Primary domain"
@@ -2359,22 +2408,24 @@ msgid ""
"Mails are received for all domains configured in the system. Among these, "
"select the most important one."
msgstr ""
+"Le mail sono ricevute per tutti i domini configurati nel sistema. Tra "
+"questi, selezionare il più importante."
#: plinth/modules/email/forms.py:34
msgid "New alias (without @domain)"
-msgstr ""
+msgstr "Nuova alias (senza @dominio)"
#: plinth/modules/email/forms.py:41
msgid "Contains illegal characters"
-msgstr ""
+msgstr "Contiene caratteri non consentiti"
#: plinth/modules/email/forms.py:44
msgid "Must start and end with a-z or 0-9"
-msgstr ""
+msgstr "Deve iniziare e finire con a-z o 0-9"
#: plinth/modules/email/forms.py:48
msgid "Cannot be a number"
-msgstr ""
+msgstr "Non può essere un numero"
#: plinth/modules/email/forms.py:58
msgid "Aliases"
@@ -2418,7 +2469,7 @@ msgstr "Gestire gli alias"
#: plinth/modules/email/templates/email-aliases.html:16
msgid "You have no email aliases."
-msgstr ""
+msgstr "Non si dispone di alias email."
#: plinth/modules/email/templates/email-aliases.html:28
msgid "Create a new email alias"
@@ -2427,7 +2478,7 @@ msgstr "Creare un nuovo alias e-mail"
#: plinth/modules/email/templates/email-aliases.html:34
#: plinth/modules/names/templates/names.html:78
msgid "Add"
-msgstr ""
+msgstr "Aggiungi"
#: plinth/modules/email/templates/email-dns.html:9
msgid "DNS Records for domain:"
@@ -2442,19 +2493,19 @@ msgstr ""
#: plinth/modules/email/templates/email-dns.html:23
#: plinth/modules/email/templates/email-dns.html:77
msgid "TTL"
-msgstr ""
+msgstr "TTL"
#: plinth/modules/email/templates/email-dns.html:24
msgid "Class"
-msgstr ""
+msgstr "Classe"
#: plinth/modules/email/templates/email-dns.html:26
msgid "Priority"
-msgstr ""
+msgstr "Priorità"
#: plinth/modules/email/templates/email-dns.html:27
msgid "Weight"
-msgstr ""
+msgstr "Peso"
#: plinth/modules/email/templates/email-dns.html:28
#: plinth/modules/minetest/templates/minetest.html:18
@@ -2464,7 +2515,7 @@ msgstr "Porta"
#: plinth/modules/email/templates/email-dns.html:29
#: plinth/modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
-msgstr ""
+msgstr "Host/Destinazione/Valore"
#: plinth/modules/email/templates/email-dns.html:50
msgid "Reverse DNS Records for IP Addresses"
@@ -2835,13 +2886,15 @@ msgstr ""
#: plinth/modules/networks/templates/networks_configuration.html:22
#: plinth/modules/storage/templates/storage.html:93
msgid "Advanced"
-msgstr ""
+msgstr "Avanzato"
#: plinth/modules/firewall/templates/firewall.html:90
msgid ""
"Advanced firewall operations such as opening custom ports are provided by "
"the Cockpit app."
msgstr ""
+"Operazioni avanzate sul firewall come aprire porte personalizzate sono "
+"fornite dall'app Cockpit."
#: plinth/modules/first_boot/__init__.py:61
msgid "Setup complete! Next steps:"
@@ -3023,7 +3076,7 @@ msgstr "Ramo di default"
#: plinth/modules/gitweb/forms.py:134
msgid "Gitweb displays this as a default branch."
-msgstr ""
+msgstr "Gitweb lo visualizza come branch predefinito."
#: plinth/modules/gitweb/manifest.py:20
msgid "Git"
@@ -3742,15 +3795,15 @@ msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr "infinoted è un server per Gobby, un editore di testo collaborativo."
#: plinth/modules/infinoted/__init__.py:22
-#, fuzzy, python-brace-format
+#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
"client and install it. Then start Gobby and select \"Connect to Server\" and "
"enter your {box_name}'s domain name."
msgstr ""
-"Per usarlo, , scarica Gobby, client "
-"desktop e installarlo. Dopo avviare Gobby e seleziona \"Connect to Server\" "
-"e entrare nel tuo nome di dominio {box_name}."
+"Per utilizzarlo, , scaricare Gobby, "
+"client desktop e installarlo. Quindi, avviare Hobby e selezionare \"Connetti "
+"al Server\" ed accedere al proprio nome di dominio {box_name}."
#: plinth/modules/infinoted/__init__.py:41
msgid "infinoted"
@@ -4132,6 +4185,9 @@ msgid ""
"Matrix Synapse needs a STUN/TURN server for audio/video calls. Install the "
"Coturn app or configure an external server."
msgstr ""
+"Matrix Synapse richiede un server STUN/TURN per chiamate audio/video. "
+"Installare l'app Coturn o configurare un server "
+"esterno."
#: plinth/modules/matrixsynapse/__init__.py:59
msgid "Matrix Synapse"
@@ -4175,6 +4231,9 @@ msgid ""
"server for Matrix Synapse. Disable this if you want to use a different STUN/"
"TURN server."
msgstr ""
+"Configurare l'app locale coturn come server "
+"STUN/TURN per Matrix Synapse. Disabilitarlo se si vuole usare un altro "
+"server STUN/TURN."
#: plinth/modules/matrixsynapse/manifest.py:14
msgid "Element"
@@ -4239,12 +4298,11 @@ msgstr ""
"reinstallazione dell'app, che cancellerà i dati dell'app."
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:28
-#, fuzzy
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-"I nuovi utenti possono essere registrati da qualsiasi cliente se la "
+"I nuovi utenti possono essere registrati da qualsiasi client se la "
"registrazione pubblica è abilitata."
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:35
@@ -4307,6 +4365,10 @@ msgid ""
"with other Matrix Synapse instances requires a valid TLS certificate. Please "
"go to Let's Encrypt to obtain one."
msgstr ""
+"Il nome di dominio configurato sta utilizzando un certificato autofirmato. "
+"La federazione con altre istanze di Matrix Synapse necessitano di un "
+"certificato TLS valido. Visita Let's "
+"Encrypt per ottenerne uno."
#: plinth/modules/matrixsynapse/views.py:140
msgid "Registration configuration cannot be updated when app is disabled."
@@ -4364,10 +4426,10 @@ msgid ""
"10 characters. Leave this field blank to keep the current "
"password."
msgstr ""
-"Impostare una nuova password per l'account amministratore di MediaWiki "
-"(admin). Il password non può essere ordinario e la lunghezza minima "
-"richiesta è di 10 caratteri. Lasciare questo campo vuoto "
-"per mantenere la password attuale ."
+"Imposta una nuova password per l'utenza amministrativa (admin) di MediaWiki. "
+"La password non può essere banale e la lunghezza minima richiesta è di "
+"10 caratteri. Lascia vuoto questo campo per conservare "
+"quella attuale."
#: plinth/modules/mediawiki/forms.py:65
msgid ""
@@ -4418,6 +4480,8 @@ msgid ""
"Choose a default skin for your MediaWiki installation. Users have the option "
"to select their preferred skin."
msgstr ""
+"Selezionare il tema predefinito per l'installazione di MediaWiki. Gli utenti "
+"hanno l'opzione di selezionare il proprio tema preferito."
#: plinth/modules/mediawiki/forms.py:93
msgid "Default Language"
@@ -4434,8 +4498,11 @@ msgid "Password updated"
msgstr "Password aggiornata"
#: plinth/modules/mediawiki/views.py:48
+#, fuzzy
msgid "Password update failed. Please choose a stronger password"
msgstr ""
+"Aggiornamento della password fallito. Per favore scegliere una password più "
+"complessa"
#: plinth/modules/mediawiki/views.py:57
msgid "Public registrations enabled"
@@ -4448,12 +4515,12 @@ msgstr "Registrazioni pubbliche disabilitate"
#: plinth/modules/mediawiki/views.py:70
#, fuzzy
msgid "Private mode enabled"
-msgstr "Modo privato abilitato"
+msgstr "Modalità privata abilitata"
#: plinth/modules/mediawiki/views.py:76
#, fuzzy
msgid "Private mode disabled"
-msgstr "Modo privato disabilitato"
+msgstr "Modalità privata disabilitata"
#: plinth/modules/mediawiki/views.py:84
msgid "Default skin changed"
@@ -4564,14 +4631,22 @@ msgid ""
"gaming systems (such as PS3 and Xbox 360) or applications such as totem and "
"Kodi."
msgstr ""
+"MiniDLNA è un semplice software per server multimediale, con lo scopo di "
+"diventare completamente compatibile con client DLNA/UPnP-AV. Il demone "
+"MiniDLNA fornisce file multimediali (musica, foto e video) ai client della "
+"rete. DLNA/UPnP è un protocollo che non necessita di configurazione ed è "
+"compatibile con qualsiasi dispositivo certificato DLNA, come riproduttori "
+"multimediali portatili, telefonini, televisori, console (come PS3 e Xbox "
+"360) o applicazioni come totem e Kodi."
#: plinth/modules/minidlna/__init__.py:45
msgid "MiniDLNA"
msgstr "MiniDLNA"
#: plinth/modules/minidlna/forms.py:20
+#, fuzzy
msgid "Media Files Directory"
-msgstr ""
+msgstr "Directory di file multimediali"
#: plinth/modules/minidlna/forms.py:21
msgid ""
@@ -4613,7 +4688,7 @@ msgstr "DLNA"
#: plinth/modules/minidlna/views.py:33
msgid "Updated media directory"
-msgstr ""
+msgstr "Directory multimediale aggiornata"
#: plinth/modules/miniflux/__init__.py:18
msgid ""
@@ -4762,14 +4837,15 @@ msgstr ""
"cifrato e open source."
#: plinth/modules/mumble/__init__.py:28
+#, fuzzy
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-"Non puoi connettere il tuo server Mumble nella porta regolare di Mumble "
-"64738 Sono disponibili dei client da "
-"connettere a Mumble dai tuoi dispositivi desktop e mobili."
+"Non puoi connetterti al proprio server Mumble tramite la porta 64738 usata "
+"da Mumble. Per connettersi a Mumble dai propri dispositivi, desktop e "
+"mobili, sono disponibili dei client."
#: plinth/modules/mumble/__init__.py:46 plinth/modules/mumble/manifest.py:9
msgid "Mumble"
@@ -4781,13 +4857,16 @@ msgstr ""
#: plinth/modules/mumble/forms.py:30
msgid "Set SuperUser Password"
-msgstr ""
+msgstr "Impostare la password di SuperUser"
#: plinth/modules/mumble/forms.py:33
+#, fuzzy
msgid ""
"Optional. Leave this field blank to keep the current password. SuperUser "
"password can be used to manage permissions in Mumble."
msgstr ""
+"Opzionale. Lasciare questo campo vuoto per conservare la password attuale. "
+"La password del SuperUser può essere usata per gestire i permessi in Mumble."
#: plinth/modules/mumble/forms.py:40
msgid "Set a password to join the server"
@@ -4825,7 +4904,7 @@ msgstr ""
#: plinth/modules/mumble/views.py:43
msgid "SuperUser password successfully updated."
-msgstr ""
+msgstr "La password di SuperUser è stata aggiornata con successo."
#: plinth/modules/mumble/views.py:48
#, fuzzy
@@ -4844,6 +4923,11 @@ msgid ""
"each type of name, it is shown whether the HTTP, HTTPS, and SSH services are "
"enabled or disabled for incoming connections through the given name."
msgstr ""
+"I Name Service forniscono una panoramica delle modalità con cui {box_name} "
+"può essere raggiunto da Internet: nome di dominio, servizio onion di Tor e "
+"Pagekite. Per ognuno di essi viene visualizzato se i servizi HTTP, HTTPS e "
+"SSH sono abilitati o disabilitati per le connessioni in ingresso verso di "
+"esso."
#: plinth/modules/names/__init__.py:55
#, fuzzy
@@ -4865,11 +4949,11 @@ msgstr ""
#: plinth/modules/names/components.py:14
msgid "All"
-msgstr ""
+msgstr "Tutto"
#: plinth/modules/names/components.py:18 plinth/modules/names/components.py:22
msgid "All web apps"
-msgstr ""
+msgstr "Tutte le app web"
#: plinth/modules/names/components.py:26
msgid "Secure Shell"
@@ -5054,12 +5138,16 @@ msgid ""
"Configure network devices. Connect to the Internet via Ethernet, Wi-Fi or "
"PPPoE. Share that connection with other devices on the network."
msgstr ""
+"Configura i dispositivi di rete. Connessione ad internet tramite Ethernet, "
+"Wi-Fi o PPPoE. Condividi tale connessione con altri dispositivi sulla rete."
#: plinth/modules/networks/__init__.py:21
msgid ""
"Devices administered through other methods may not be available for "
"configuration here."
msgstr ""
+"I dispositivi amministrati tramite altri metodi possono non essere "
+"disponibili per la configurazione."
#: plinth/modules/networks/__init__.py:42
msgid "Networks"
@@ -5113,22 +5201,28 @@ msgid ""
"Automatic (DHCP): Configure automatically, use Internet connection from this "
"network"
msgstr ""
+"Automatico (DHCP): configura in modo automatico, usa la connessione Internet "
+"da questa rete"
#: plinth/modules/networks/forms.py:95
msgid ""
"Shared: Act as a router, provide Internet connection to other devices on "
"this network"
msgstr ""
+"Condiviso: funziona come un router, fornisce la connessione Internet ad "
+"altri dispositivi su questa rete"
#: plinth/modules/networks/forms.py:98 plinth/modules/networks/forms.py:139
msgid ""
"Manual: Use manually specified parameters, use Internet connection from this "
"network"
msgstr ""
+"Manuale: utilizza parametri inseriti manualmente, usa la connessione "
+"Internet da questa rete"
#: plinth/modules/networks/forms.py:101
msgid "Disabled: Do not configure this addressing method"
-msgstr ""
+msgstr "Disabilitato: non configura questo metodo di indirizzamento"
#: plinth/modules/networks/forms.py:108
msgid "Netmask"
@@ -5185,12 +5279,16 @@ msgstr "Metodo Indirizzamento IPv6"
msgid ""
"Automatic: Configure automatically, use Internet connection from this network"
msgstr ""
+"Automatico: configura automaticamente, usa la connessione Internet da questa "
+"rete"
#: plinth/modules/networks/forms.py:133
msgid ""
"Automatic (DHCP only): Configure automatically, use Internet connection from "
"this network"
msgstr ""
+"Automatico (solo DHCP): configura automaticamente, usa la connessione "
+"Internet da questa rete"
#: plinth/modules/networks/forms.py:136
msgid ""
@@ -5200,7 +5298,7 @@ msgstr ""
#: plinth/modules/networks/forms.py:141
msgid "Ignore: Ignore this addressing method"
-msgstr ""
+msgstr "Ignora: non utilizzare questo metodo di indirizzamento"
#: plinth/modules/networks/forms.py:142
msgid "Disabled: Disable IPv6 for this connection"
@@ -5334,6 +5432,9 @@ msgid ""
"Internet connection from your router via Wi-Fi or Ethernet cable. This is a "
"typical home setup.
"
msgstr ""
+"Connesso ad un router Il tuo {box_name} accede ad "
+"Internet dal tuo router tramite Wi-Fi o cavo Ethernet. Questa è la "
+"configurazione tipica di casa.
"
#: plinth/modules/networks/forms.py:389
#, python-brace-format
@@ -5343,18 +5444,26 @@ msgid ""
"adapter. {box_name} is directly connected to the Internet and all your "
"devices connect to {box_name} for their Internet connectivity."
msgstr ""
+"{box_name} è il tuo router Il tuo {box_name} ha più "
+"interfacce di rete, come diverse porte Ethernet o adattatori Wi-Fi. "
+"{box_name} è direttamente connesso ad Internet e tutti i tuoi dispositivi si "
+"connettono a {box_name} per l'accesso ad Internet.
"
#: plinth/modules/networks/forms.py:398
-#, python-brace-format
+#, fuzzy, python-brace-format
msgid ""
"Directly connected to the Internet Your Internet "
"connection is directly attached to your {box_name} and there are no other "
"devices on the network. This can happen on community or cloud setups.
"
msgstr ""
+"Direttamente connesso ad Internet La tua connessione "
+"è direttamente connessa a {box_name} e non sono presenti altri dispositivi "
+"sulla rete. Questo può accadere nel caso di configurazioni comuni o cloud."
+"p>"
#: plinth/modules/networks/forms.py:417
msgid "Choose your internet connection type"
-msgstr ""
+msgstr "Seleziona il tipo di connessione Internet"
#: plinth/modules/networks/forms.py:421
msgid ""
@@ -5366,6 +5475,14 @@ msgid ""
"connectivity. If you have a public IP address but are unsure if it changes "
"over time or not, it is safer to choose this option.
"
msgstr ""
+"Possiedo un indirizzo IP pubblico che può cambiare nel tempoQuesto significa che puoi essere raggiunto da altri dispositivi "
+"quando sarai connesso ad Internet. Ogni volta che ti connetti ad Internet "
+"con mio ISP (Internet Service Provider - fornitore di servizi Internet), "
+"potrai ottenere un indirizzo IP diverso, specialmente dopo un certo periodo "
+"in cui sarai rimasto scollegato. Molti ISP offrono questo tipo di "
+"connettività. Se si possiede un indirizzo IP pubblico, ma non si è certi se, "
+"nel tempo, esso cambia o meno, è opportuno selezionare questa opzione.
"
#: plinth/modules/networks/forms.py:433
#, python-brace-format
@@ -5378,9 +5495,18 @@ msgid ""
"but very few ISPs offer this. You may be able to get this service from your "
"ISP by making an additional payment."
msgstr ""
+"Possiedo un indirizzo IP pubblico che non cambia nel tempo (raccomandato)Questo significa che puoi essere raggiunto da altri "
+"dispositivi quando sarai connesso ad Internet. Ogni volta che ti connetti ad "
+"Internet con mio ISP (Internet Service Provider - fornitore di servizi "
+"Internet), avrai sempre lo stesso indirizzo IP. Questa è la configurazione "
+"maggiormente libera da problemi per molti servizi di {box_name}, ma molto "
+"pochi ISP offrono questo tipo di connettività. Potrebbe essere possibile "
+"avere questo servizio dal proprio ISP effettuando un pagamento addizionale."
+"p>"
#: plinth/modules/networks/forms.py:446
-#, python-brace-format
+#, fuzzy, python-brace-format
msgid ""
"I dont have a public IP address
This means that "
"devices on the Internet can not reach you when you are connected to "
@@ -5390,16 +5516,26 @@ msgid ""
"troublesome situation for hosting services at home. {box_name} provides many "
"workaround solutions but each solution has some limitations.
"
msgstr ""
+"Non possiedo un indirizzo IP pubblicoQuesto "
+"significa che non puoi essere raggiunto da altri dispositivi quando "
+"sarai connesso ad Internet. Ogni volta che ti connetti ad Internet con mio "
+"ISP (Internet Service Provider - fornitore di servizi Internet), otterrai un "
+"indirizzo IP che è visibile solo nelle reti locali. Molti ISP offrono questo "
+"tipo di connettività. Questa è la configurazione più complicata per ospitare "
+"in casa i servizi. {box_name} fornisce alcune soluzioni alternative, ma "
+"ognuna di esse ha delle limitazioni.
"
#: plinth/modules/networks/forms.py:459
msgid ""
"I do not know the type of connection my ISP provides You will be suggested the most conservative actions.
"
msgstr ""
+"Non conosco il tipo di connessione che il mio ISP fornisce Ti verrà suggerita la soluzione più prudente.
"
#: plinth/modules/networks/forms.py:476
msgid "Preferred router configuration"
-msgstr "Configurazione del router preferito"
+msgstr "Configurazione del router preferita"
#: plinth/modules/networks/forms.py:481
#, python-brace-format
@@ -5411,9 +5547,16 @@ msgid ""
"configure a static local IP address for your {box_name} in your router's "
"configuration."
msgstr ""
+"Utilizzare la DMZ per inoltrare tutto il traffico (raccomandato) La maggior parte dei router mette a disposizione "
+"un'opzione chiamata DMZ. Questa configurazione permetterà al router di "
+"redirigere tutto il traffico in arrivo da Internet ad un singolo indirizzo "
+"IP, per esempio l'indirizzo di {box_name}. Prima di tutto dev'essere "
+"configurato un indirizzo IP statico per il proprio {box_name} e specificato "
+"nella configurazione del router.
"
#: plinth/modules/networks/forms.py:493
-#, python-brace-format
+#, fuzzy, python-brace-format
msgid ""
"Forward specific traffic as needed by each application You may alternatively choose to forward only specific traffic to "
@@ -5423,6 +5566,15 @@ msgid ""
"ports 80 and 443 to work. Each of the other applications will suggest which "
"port(s) need to be forwarded for that application to work.
"
msgstr ""
+"Inoltrare il traffico specifico in base alle esigenze di ogni applicazione "
+". In alternativa si può scegliere di inoltrare a "
+"{box_name} soltanto un traffico di rete specifico. Questo è ideale se si "
+"dispone di altri server come {box_name} nella propria rete o se il proprio "
+"router non gestisce la funzionalità DMZ. Tutte le applicazioni che "
+"forniscono un'interfaccia web necessitano, per funzionare correttamente, di "
+"inoltrare il traffico dalle porte 80 e 443. Le altre applicazioni "
+"segnaleranno quali sono le porte che necessitano di essere redirette per "
+"funzionare.
"
#: plinth/modules/networks/forms.py:507
msgid ""
@@ -5430,6 +5582,10 @@ msgid ""
"have not configured or are unable to configure the router currently and wish "
"to be reminded later. Some of the other configuration steps may fail."
msgstr ""
+"Il router non è attualmente configurato Selezionare "
+"questa opzione se il router non è stato ancora configurato o non si è in "
+"grado di farlo ma si vuole ricevere un promemoria in futuro. Alcuni dei "
+"prossimi passi di configurazione potrebbero fallire.
"
#: plinth/modules/networks/manifest.py:8
#: plinth/modules/networks/templates/connections_diagram.html:11
@@ -5453,6 +5609,10 @@ msgid ""
"that you have other means to access %(box_name)s before altering this "
"connection."
msgstr ""
+"Questa è la connessione principale usata da %(box_name)s per connettersi ad "
+"Internet. Modificarla può rendere %(box_name)s non raggiungibile. "
+"Assicurarsi di avere altre modalità di accesso a %(box_name)s prima di "
+"effettuare la modifica."
#: plinth/modules/networks/templates/connection_show.html:40
msgid "Edit connection"
@@ -5640,6 +5800,8 @@ msgid ""
"This interface is not maintained by %(box_name)s. For security, it is "
"automatically assigned to the external zone."
msgstr ""
+"Questa interfaccia non è gestita da %(box_name)s. Per sicurezza, è "
+"assegnata, in automatico, alla zona esterna."
#: plinth/modules/networks/templates/connections_create.html:18
msgid "Create Connection"
@@ -5743,13 +5905,16 @@ msgstr "Crea..."
#: plinth/modules/networks/templates/internet_connectivity_content.html:10
msgid "What Type Of Internet Connection Do You Have?"
-msgstr ""
+msgstr "Che tipo di connessione hai?"
#: plinth/modules/networks/templates/internet_connectivity_content.html:16
msgid ""
"Select an option that best describes the type of Internet connection. This "
"information is used only to guide you with further setup."
msgstr ""
+"Selezionare l'opzione che meglio descrive il tipo di connessione ad "
+"Internet. Quest'informazione sarà utilizzata solo per guidarti nei passi "
+"successivi."
#: plinth/modules/networks/templates/internet_connectivity_main.html:9
msgid "Your Internet Connection Type"
@@ -5761,27 +5926,36 @@ msgid ""
"your ISP. This information is only used to suggest you necessary "
"configuration actions."
msgstr ""
+"Il seguente è la miglior descrizione del tipo di connessione fornita dal "
+"proprio ISP. Questa informazione è usata soltanto per suggerire azioni "
+"necessarie per la configurazione."
#: plinth/modules/networks/templates/internet_connectivity_main.html:23
msgid "My ISP provides a public IP address that does not change over time."
msgstr ""
+"Il proprio ISP fornisce un indirizzo IP pubblico che non cambia nel tempo."
#: plinth/modules/networks/templates/internet_connectivity_main.html:27
+#, fuzzy
msgid "My ISP provides a public IP address that may change over time."
msgstr ""
+"Il proprio ISP fornisce un indirizzo IP pubblico che può cambiare nel tempo."
#: plinth/modules/networks/templates/internet_connectivity_main.html:31
+#, fuzzy
msgid "My ISP does not provide a public IP address."
-msgstr ""
+msgstr "Il proprio ISP non fornisce un indirizzo IP pubblico."
#: plinth/modules/networks/templates/internet_connectivity_main.html:35
+#, fuzzy
msgid "I do not know the type of connection my ISP provides."
-msgstr ""
+msgstr "Non si conosce il tipo di connessione fornita dal proprio ISP."
#: plinth/modules/networks/templates/internet_connectivity_main.html:41
#: plinth/modules/networks/templates/network_topology_main.html:41
+#, fuzzy
msgid "Update..."
-msgstr "Cambiare..."
+msgstr "Aggiorna..."
#: plinth/modules/networks/templates/internet_connectivity_type.html:18
#: plinth/modules/networks/templates/network_topology_update.html:18
@@ -5798,32 +5972,40 @@ msgid "How is Your %(box_name)s Connected to the Internet?"
msgstr "Come è collegato a Internet il vostro %(box_name)s?"
#: plinth/modules/networks/templates/network_topology_content.html:16
-#, python-format
+#, fuzzy, python-format
msgid ""
"Select an option that best describes how your %(box_name)s is connected in "
"your network. This information is used to guide you with further setup. It "
"can be changed later."
msgstr ""
+"Selezionare un'opzione che meglio descrive come il proprio %(box_name)s è "
+"connesso alla propria rete. Questa informazione è utilizzata come guida per "
+"ulteriori configurazioni. Può essere modificata successivamente."
#: plinth/modules/networks/templates/network_topology_main.html:9
-#, python-format
+#, fuzzy, python-format
msgid "%(box_name)s Internet Connectivity"
-msgstr ""
+msgstr "Connettività Internet di %(box_name)s"
#: plinth/modules/networks/templates/network_topology_main.html:15
-#, python-format
+#, fuzzy, python-format
msgid ""
"The following best describes how your %(box_name)s is connected in your "
"network. This information is used only to suggest necessary configuration "
"actions."
msgstr ""
+"Quanto segue, descrive meglio la connessione del tuo %(box_name)s nella "
+"rete. I dati vengono usati unicamente per proporre configurazioni opportune."
#: plinth/modules/networks/templates/network_topology_main.html:24
-#, python-format
+#, fuzzy, python-format
msgid ""
"Your %(box_name)s gets its Internet connection from your router via Wi-Fi or "
"Ethernet cable. This is a typical home setup."
msgstr ""
+"Il proprio %(box_name)s prende la propria connessione internet da un proprio "
+"router tramite Wi-Fi o cavo Ethernet. Questa è la configurazione tipica di "
+"casa."
#: plinth/modules/networks/templates/network_topology_main.html:29
#, python-format
@@ -5831,19 +6013,26 @@ msgid ""
"Your %(box_name)s is directly connected to the Internet and all your devices "
"connect to %(box_name)s for their Internet connectivity."
msgstr ""
+"Il proprio %(box_name)s è connesso direttamente ad Internet e tutti i propri "
+"dispositivi si connettono a %(box_name)s per la connessione Internet."
#: plinth/modules/networks/templates/network_topology_main.html:34
-#, python-format
+#, fuzzy, python-format
msgid ""
"Your Internet connection is directly attached to your %(box_name)s and there "
"are no other devices on the network."
msgstr ""
+"La propria connessione internet è collegata direttamente al proprio %"
+"(box_name)s e non ci sono altri dispositivi sulla rete."
#: plinth/modules/networks/templates/networks_configuration.html:24
+#, fuzzy
msgid ""
"Advanced networking operations such as bonding, bridging and VLAN management "
"are provided by the Cockpit app."
msgstr ""
+"Operazioni di rete avanzate come gestione di bonding, bridging e VLAN sono "
+"fornite dall'app Cockpit."
#: plinth/modules/networks/templates/router_configuration_content.html:10
#, python-format
@@ -5977,59 +6166,65 @@ msgstr ""
#: plinth/modules/networks/views.py:48
msgid "waiting for secondary"
-msgstr ""
+msgstr "in attesa del secondario"
#: plinth/modules/networks/views.py:49
msgid "activated"
-msgstr ""
+msgstr "attivato"
#: plinth/modules/networks/views.py:50
msgid "deactivating"
msgstr "disattiva"
#: plinth/modules/networks/views.py:58
+#, fuzzy
msgid "no reason"
-msgstr ""
+msgstr "nessuna ragione"
#: plinth/modules/networks/views.py:60
msgid "unknown error"
-msgstr ""
+msgstr "errore sconosciuto"
#: plinth/modules/networks/views.py:62
msgid "device is now managed"
-msgstr ""
+msgstr "il dispositivo è ora gestito"
#: plinth/modules/networks/views.py:64
msgid "device is now unmanaged"
-msgstr ""
+msgstr "il dispositivo ora non è gestito"
#: plinth/modules/networks/views.py:66
+#, fuzzy
msgid "configuration failed"
-msgstr ""
+msgstr "configurazione fallita"
#: plinth/modules/networks/views.py:68
+#, fuzzy
msgid "secrets required"
-msgstr ""
+msgstr "i segreti sono obbligatori"
#: plinth/modules/networks/views.py:70
+#, fuzzy
msgid "DHCP client failed to start"
-msgstr ""
+msgstr "L'avvio del client DHCP è fallito"
#: plinth/modules/networks/views.py:72
msgid "DHCP client error"
-msgstr ""
+msgstr "Errore del client DHCP"
#: plinth/modules/networks/views.py:74
msgid "DHCP client failed"
msgstr "Client DHCP fallito"
#: plinth/modules/networks/views.py:76
+#, fuzzy
msgid "shared connection service failed to start"
-msgstr ""
+msgstr "l'avvio del servizio di connessione condivisa è fallito"
#: plinth/modules/networks/views.py:78
+#, fuzzy
msgid "shared connection service failed"
-msgstr ""
+msgstr "il servizio di connessione condivisa è fallito"
#: plinth/modules/networks/views.py:80
msgid "device was removed"
@@ -6037,39 +6232,42 @@ msgstr "dispositivo è stato rimosso"
#: plinth/modules/networks/views.py:82
msgid "device disconnected by user"
-msgstr ""
+msgstr "il dispositivo è stato disconnesso dall'utente"
#: plinth/modules/networks/views.py:84
+#, fuzzy
msgid "a dependency of the connection failed"
-msgstr ""
+msgstr "una dipendenza della connessione è fallita"
#: plinth/modules/networks/views.py:86
msgid "Wi-Fi network not found"
-msgstr ""
+msgstr "Rete Wi-Fi non trovata"
#: plinth/modules/networks/views.py:88
+#, fuzzy
msgid "a secondary connection failed"
-msgstr ""
+msgstr "una connessione secondaria è fallita"
#: plinth/modules/networks/views.py:90
+#, fuzzy
msgid "new connection activation was enqueued"
-msgstr ""
+msgstr "è stata accodata l'attivazione di una nuova connessione"
#: plinth/modules/networks/views.py:92
msgid "a duplicate IP address was detected"
-msgstr ""
+msgstr "è stato individuato un indirizzo IP duplicato"
#: plinth/modules/networks/views.py:94
msgid "selected IP method is not supported"
-msgstr ""
+msgstr "il metodo IP selezionato non è supportato"
#: plinth/modules/networks/views.py:103
msgid "generic"
-msgstr ""
+msgstr "generico"
#: plinth/modules/networks/views.py:104
msgid "TUN or TAP interface"
-msgstr ""
+msgstr "interfaccia TUN o TAP"
#: plinth/modules/networks/views.py:105 plinth/modules/wireguard/__init__.py:47
#: plinth/modules/wireguard/manifest.py:14
@@ -6078,19 +6276,21 @@ msgstr "WireGuard"
#: plinth/modules/networks/views.py:112
msgid "ad-hoc"
-msgstr ""
+msgstr "ad-hoc"
#: plinth/modules/networks/views.py:113
msgid "infrastructure"
msgstr "infrastruttura"
#: plinth/modules/networks/views.py:114
+#, fuzzy
msgid "access point"
-msgstr ""
+msgstr "access point"
#: plinth/modules/networks/views.py:115
+#, fuzzy
msgid "mesh point"
-msgstr ""
+msgstr "mesh point"
#: plinth/modules/networks/views.py:122
msgid "default"
@@ -6239,7 +6439,7 @@ msgstr ""
#: plinth/modules/nextcloud/manifest.py:56
#: plinth/modules/sharing/__init__.py:34
msgid "Sharing"
-msgstr ""
+msgstr "Condivisione"
#: plinth/modules/nextcloud/manifest.py:56 plinth/modules/sogo/manifest.py:72
msgid "Groupware"
@@ -6268,7 +6468,7 @@ msgstr ""
#: plinth/modules/openvpn/__init__.py:43
msgid "Connect to VPN services"
-msgstr ""
+msgstr "Connessione ai servizi VPN"
#: plinth/modules/openvpn/__init__.py:46 plinth/modules/openvpn/manifest.py:17
msgid "OpenVPN"
@@ -6282,8 +6482,9 @@ msgstr ""
" Scarica Profilo "
#: plinth/modules/openvpn/manifest.py:52
+#, fuzzy
msgid "Tunnelblick"
-msgstr ""
+msgstr "Tunnelblick"
#: plinth/modules/openvpn/manifest.py:60
#: plinth/modules/wireguard/manifest.py:45
@@ -6964,12 +7165,15 @@ msgid "RSS-Bridge"
msgstr ""
#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
+#, fuzzy
msgid "Allow Public Access"
-msgstr ""
+msgstr "Permetti l'accesso pubblico"
#: plinth/modules/rssbridge/forms.py:13 plinth/modules/searx/forms.py:18
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
+"Permette a questa applicazione di essere usata da chiunque possa "
+"raggiungerla."
#: plinth/modules/rssbridge/manifest.py:16
msgid "Feed generator"
@@ -7064,7 +7268,7 @@ msgstr ""
#: plinth/modules/samba/templates/samba.html:84
msgid "VFAT partitions are not supported"
-msgstr ""
+msgstr "Le partizioni VFAT non sono supportate"
#: plinth/modules/samba/templates/samba.html:112
#, python-format
@@ -7073,16 +7277,22 @@ msgid ""
"href=\"%(storage_url)s\">storage module page and configure access to the "
"shares on the users module page."
msgstr ""
+"Puoi trovare informazioni aggiuntive sui dischi nella pagina del modulo storage e configurare gli accessi condivisi "
+"nella pagina del modulo users."
#: plinth/modules/samba/templates/samba.html:120
msgid "Users who can currently access group and home shares"
-msgstr ""
+msgstr "Utenti con accesso alle condivisioni di gruppo e cartelle personali"
#: plinth/modules/samba/templates/samba.html:124
+#, fuzzy
msgid ""
"Users needing to re-enter their password on the password change page to "
"access group and home shares"
msgstr ""
+"Gli utenti devono reinserire le loro password nella pagina di cambio "
+"password per accedere alle condivisioni di gruppo e cartelle personali"
#: plinth/modules/samba/templates/samba.html:129
msgid "Unavailable Shares"
@@ -7093,6 +7303,8 @@ msgid ""
"Shares that are configured but the disk is not available. If the disk is "
"plugged back in, sharing will be automatically enabled."
msgstr ""
+"Condivisioni configurate il cui disco non è disponibile. Se il disco verrà "
+"ricollegato, le condivisioni verranno automaticamente abilitate."
#: plinth/modules/samba/templates/samba.html:140
msgid "Share name"
@@ -7104,7 +7316,7 @@ msgstr "Azione"
#: plinth/modules/samba/views.py:33
msgid "FreedomBox OS disk"
-msgstr ""
+msgstr "Disco del SO di FreedomBox"
#: plinth/modules/samba/views.py:60 plinth/modules/storage/forms.py:140
msgid "Open Share"
@@ -7112,7 +7324,7 @@ msgstr "Apri Share"
#: plinth/modules/samba/views.py:64 plinth/modules/storage/forms.py:138
msgid "Group Share"
-msgstr ""
+msgstr "Condivisione di gruppo"
#: plinth/modules/samba/views.py:68
msgid "Home Share"
@@ -7141,16 +7353,21 @@ msgid ""
"Searx is a privacy-respecting Internet metasearch engine. It aggregrates and "
"displays results from multiple search engines."
msgstr ""
+"Searx è un motore di ricerca Internet che rispetta la privacy. Aggrega e "
+"visualizza i risultati ottenuti da più motori di ricerca."
#: plinth/modules/searx/__init__.py:22
msgid ""
"Searx can be used to avoid tracking and profiling by search engines. It "
"stores no cookies by default."
msgstr ""
+"Searx può essere utilizzato per evitare il tracciamento e la profilazione da "
+"parte dei motori di ricerca. Per impostazione predefinita non salva nessun "
+"cookie."
#: plinth/modules/searx/__init__.py:38
msgid "Search the web"
-msgstr ""
+msgstr "Cerca nel web"
#: plinth/modules/searx/__init__.py:41 plinth/modules/searx/manifest.py:6
msgid "Searx"
@@ -7158,19 +7375,22 @@ msgstr "Searx"
#: plinth/modules/searx/forms.py:12
msgid "Safe Search"
-msgstr ""
+msgstr "Ricerca sicura"
#: plinth/modules/searx/forms.py:13
msgid "Select the default family filter to apply to your search results."
msgstr ""
+"Selezionare la tipologia di filtri da applicare ai tuoi risultati di ricerca."
#: plinth/modules/searx/forms.py:14
+#, fuzzy
msgid "Moderate"
-msgstr ""
+msgstr "Moderato"
#: plinth/modules/searx/forms.py:14
+#, fuzzy
msgid "Strict"
-msgstr ""
+msgstr "Rigido"
#: plinth/modules/searx/manifest.py:17
msgid "Web search"
@@ -7182,7 +7402,7 @@ msgstr ""
#: plinth/modules/security/forms.py:13
msgid "Fail2Ban (recommended)"
-msgstr ""
+msgstr "Fail2Ban (raccomandato)"
#: plinth/modules/security/forms.py:14
msgid ""
@@ -7190,6 +7410,9 @@ msgid ""
"attempts to the SSH server and other enabled password protected internet-"
"services."
msgstr ""
+"Quando questa opzione è abilitata, Fail2Ban limiterà i tentativi di attacco "
+"a forza bruta al server SSH ed agli altri servizi cui è stata abilitata la "
+"protezione con password."
#: plinth/modules/security/manifest.py:10
#, fuzzy
@@ -7209,13 +7432,15 @@ msgstr "Visualizza il rapporto sulla sicurezza"
#: plinth/modules/security/templates/security.html:19
#: plinth/modules/upgrades/templates/backports-firstboot.html:11
#: plinth/modules/upgrades/templates/upgrades_configure.html:49
+#, fuzzy
msgid "Frequent Feature Updates"
-msgstr ""
+msgstr "Aggiornamenti frequenti di funzionalità"
#: plinth/modules/security/templates/security.html:21
#: plinth/modules/upgrades/templates/upgrades_configure.html:57
+#, fuzzy
msgid "Frequent feature updates are activated."
-msgstr ""
+msgstr "Gli aggiornamenti frequenti di funzionalità sono stati attivati."
#: plinth/modules/security/templates/security.html:26
#, python-format
@@ -7228,14 +7453,14 @@ msgid ""
"Instead, they are maintained by contributors to Debian and the %(box_name)s "
"community."
msgstr ""
-"Gli aggiornamenti frequenti delle funzionalità consentono al servizio "
-"%(box_name)s, oltre a un numero molto limitato di software, di ricevere "
-"nuove funzionalità con maggiore frequenza (dal repository backports). Ciò "
-"consente di ricevere alcune nuove funzionalità nel giro di poche settimane, "
-"anziché solo una volta ogni 2 anni circa. Si noti che il software con "
-"aggiornamenti frequenti delle funzionalità non è supportato dal team di "
-"sicurezza Debian. È invece gestito dai collaboratori di Debian e dalla "
-"comunità %(box_name)s."
+"Gli aggiornamenti frequenti di funzionalità permettono ai servizi di %"
+"(box_name)s, e ad un insieme veramente limitato di software, di ricevere "
+"nuove funzionalità più frequentemente (dal repository backports). Ciò "
+"consente di fruire di alcune nuove funzionalità nel giro di settimane, "
+"invece che ogni 2 anni o giù di lì. Da notare che il software con "
+"aggiornamenti frequenti di funzionalità non ha il supporto dal Team di "
+"Sicurezza Debian. Questo perché è mantenuto da contributori Debian e/o dalla "
+"comunità di %(box_name)s."
#: plinth/modules/security/templates/security_report.html:10
#: plinth/modules/security/views.py:65
@@ -7438,21 +7663,23 @@ msgstr ""
#: plinth/modules/sharing/forms.py:17
msgid "Name of the share"
-msgstr ""
+msgstr "Nome della condivisione"
#: plinth/modules/sharing/forms.py:19
msgid ""
"A lowercase alpha-numeric string that uniquely identifies a share. Example: "
"media."
msgstr ""
+"Una stringa alfanumerica minuscola che identifica in modo univoco una "
+"condivisione. Ad esempio: media."
#: plinth/modules/sharing/forms.py:23
msgid "Path to share"
-msgstr ""
+msgstr "Percorso della condivisione"
#: plinth/modules/sharing/forms.py:24
msgid "Disk path to a folder on this server that you intend to share."
-msgstr ""
+msgstr "Percorso su disco della cartella, su questo server, da condividere."
#: plinth/modules/sharing/forms.py:27
msgid "Public share"
@@ -7461,24 +7688,31 @@ msgstr "Share pubblico"
#: plinth/modules/sharing/forms.py:28
msgid "Make files in this folder available to anyone with the link."
msgstr ""
+"Rendere disponibili i file in questa cartella a tutti coloro che hanno il "
+"link."
#: plinth/modules/sharing/forms.py:33
msgid "User groups that can read the files in the share:"
-msgstr ""
+msgstr "Gruppi di utenti che possono leggere i file nella condivisione:"
#: plinth/modules/sharing/forms.py:35
+#, fuzzy
msgid ""
"Users of the selected user groups will be able to read the files in the "
"share."
msgstr ""
+"Gli utenti appartenenti a tali gruppi potranno consultare i contenuti della "
+"cartella condivisa."
#: plinth/modules/sharing/forms.py:51
+#, fuzzy
msgid "A share with this name already exists."
-msgstr ""
+msgstr "Una condivisione con questo nome esiste di già."
#: plinth/modules/sharing/forms.py:62
msgid "Shares should be either public or shared with at least one group"
msgstr ""
+"Le condivisioni devono essere pubbliche o condivise con almeno un gruppo"
#: plinth/modules/sharing/manifest.py:19 plinth/modules/zoph/manifest.py:26
msgid "Web sharing"
@@ -7487,47 +7721,50 @@ msgstr "Condivisione web"
#: plinth/modules/sharing/templates/sharing.html:18
#: plinth/modules/sharing/templates/sharing.html:21
msgid "Add share"
-msgstr ""
+msgstr "Aggiungi condivisione"
#: plinth/modules/sharing/templates/sharing.html:26
msgid "No shares currently configured."
-msgstr ""
+msgstr "Non ci sono condivisioni attualmente configurate."
#: plinth/modules/sharing/templates/sharing.html:33
+#, fuzzy
msgid "Disk Path"
-msgstr ""
+msgstr "Percorso sul disco"
#: plinth/modules/sharing/templates/sharing.html:34
+#, fuzzy
msgid "Shared Over"
-msgstr ""
+msgstr "Condivisione su"
#: plinth/modules/sharing/templates/sharing.html:35
+#, fuzzy
msgid "With Groups"
-msgstr ""
+msgstr "Con gruppi"
#: plinth/modules/sharing/templates/sharing.html:52
msgid "public access"
-msgstr ""
+msgstr "accesso pubblico"
#: plinth/modules/sharing/views.py:39
msgid "Share added."
-msgstr ""
+msgstr "Condivisione aggiunta."
#: plinth/modules/sharing/views.py:44
msgid "Add Share"
-msgstr ""
+msgstr "Aggiungi condivisione"
#: plinth/modules/sharing/views.py:60
msgid "Share edited."
-msgstr ""
+msgstr "Condivisione modificata."
#: plinth/modules/sharing/views.py:65
msgid "Edit Share"
-msgstr ""
+msgstr "Modifica condivisione"
#: plinth/modules/sharing/views.py:96
msgid "Share deleted."
-msgstr ""
+msgstr "Condivisione eliminata."
#: plinth/modules/snapshot/__init__.py:18
msgid ""
@@ -8592,7 +8829,7 @@ msgstr ""
#: plinth/modules/upgrades/templates/backports-firstboot.html:51
msgid "Next"
-msgstr ""
+msgstr "Prossimo"
#: plinth/modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:11
msgid "Confirm Distribution Update?"
@@ -9079,8 +9316,9 @@ msgid ""
msgstr ""
#: plinth/modules/users/templates/users_firstboot.html:69
+#, fuzzy
msgid "Skip this step"
-msgstr ""
+msgstr "Salta questo passo"
#: plinth/modules/users/templates/users_list.html:11
#: plinth/modules/users/views.py:61
From 8ba444990b4af6eec4b6b2b26482b107d7ff1229 Mon Sep 17 00:00:00 2001
From: Sunil Mohan Adapa
Date: Sat, 13 Dec 2025 21:54:14 +0530
Subject: [PATCH 21/24] backups: Set proper permissions for backups-data
directory
Fixes: #2554
- Update permissions on the backups-data directory so that files are only
accessible by root users.
- Ensure that the directory is created by the 'backups' app and not by each of
the apps that take the backup.
Tests:
- Run functional tests for miniflux, dynamicdns, wordpress, zoph, and nextlcoud.
There was an unrelated functional test case failure in nextcloud.
- On a fresh installation, apply patch. Service is restarted. The directory is
created with proper permissions and ownership.
- On a fresh installation, without the patch. Backup the dynamicdns app. The
directory is created with incorrect permissions. Apply the patch. Service is
restarted. Proper permissions are set on the directory.
- On a setup with incorrect permissions, re-run backups app's setup. The
permissions are updated correctly.
Signed-off-by: Sunil Mohan Adapa
Reviewed-by: James Valleroy
---
plinth/db/postgres.py | 1 -
plinth/modules/backups/__init__.py | 2 +-
plinth/modules/backups/privileged.py | 14 +++++++++++++-
plinth/modules/nextcloud/privileged.py | 2 --
plinth/modules/wordpress/privileged.py | 1 -
plinth/modules/zoph/privileged.py | 2 --
6 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/plinth/db/postgres.py b/plinth/db/postgres.py
index 1ddf618d6..2da14d950 100644
--- a/plinth/db/postgres.py
+++ b/plinth/db/postgres.py
@@ -93,7 +93,6 @@ def dump_database(backup_file: str | pathlib.Path, database_name: str):
file if it exists.
"""
backup_path = pathlib.Path(backup_file)
- backup_path.parent.mkdir(parents=True, exist_ok=True)
with action_utils.service_ensure_running('postgresql'):
with open(backup_path, 'w', encoding='utf-8') as file_handle:
_run_as([
diff --git a/plinth/modules/backups/__init__.py b/plinth/modules/backups/__init__.py
index 66a231110..bd2d617bc 100644
--- a/plinth/modules/backups/__init__.py
+++ b/plinth/modules/backups/__init__.py
@@ -33,7 +33,7 @@ class BackupsApp(app_module.App):
app_id = 'backups'
- _version = 3
+ _version = 4
can_be_disabled = False
diff --git a/plinth/modules/backups/privileged.py b/plinth/modules/backups/privileged.py
index a2276ead4..78d49223b 100644
--- a/plinth/modules/backups/privileged.py
+++ b/plinth/modules/backups/privileged.py
@@ -211,6 +211,8 @@ def is_mounted(mount_point: str) -> bool:
@privileged
def setup(path: str):
"""Create repository if it does not already exist."""
+ _create_backup_data_directory()
+
try:
_run(['borg', 'info', path], check=True)
except subprocess.CalledProcessError:
@@ -221,6 +223,17 @@ def setup(path: str):
_init_repository(path, encryption='none')
+def _create_backup_data_directory():
+ """Create the backups-data with proper permissions."""
+ old_umask = os.umask(0o077)
+ try:
+ BACKUPS_DATA_PATH.mkdir(exist_ok=True)
+ BACKUPS_DATA_PATH.chmod(0o700)
+ shutil.chown(BACKUPS_DATA_PATH, 'root', 'root')
+ finally:
+ os.umask(old_umask)
+
+
def _init_repository(path: str, encryption: str,
encryption_passphrase: str | None = None):
"""Initialize a local or remote borg repository."""
@@ -464,7 +477,6 @@ def _assert_app_id(app_id):
def dump_settings(app_id: str, settings: dict[str, int | float | bool | str]):
"""Dump an app's settings to a JSON file."""
_assert_app_id(app_id)
- BACKUPS_DATA_PATH.mkdir(exist_ok=True)
settings_path = BACKUPS_DATA_PATH / f'{app_id}-settings.json'
settings_path.write_text(json.dumps(settings))
diff --git a/plinth/modules/nextcloud/privileged.py b/plinth/modules/nextcloud/privileged.py
index 4a373f203..1bfdd6bb5 100644
--- a/plinth/modules/nextcloud/privileged.py
+++ b/plinth/modules/nextcloud/privileged.py
@@ -355,8 +355,6 @@ def _maintenance_mode():
@privileged
def dump_database():
"""Dump database to file."""
- DB_BACKUP_FILE.parent.mkdir(parents=True, exist_ok=True)
-
with _maintenance_mode():
with DB_BACKUP_FILE.open('w', encoding='utf-8') as file_handle:
action_utils.run([
diff --git a/plinth/modules/wordpress/privileged.py b/plinth/modules/wordpress/privileged.py
index 23fd7b994..dbbd34255 100644
--- a/plinth/modules/wordpress/privileged.py
+++ b/plinth/modules/wordpress/privileged.py
@@ -142,7 +142,6 @@ def is_public() -> bool:
@privileged
def dump_database():
"""Dump database to file."""
- _db_backup_file.parent.mkdir(parents=True, exist_ok=True)
with action_utils.service_ensure_running('mysql'):
with _db_backup_file.open('w', encoding='utf-8') as file_handle:
action_utils.run([
diff --git a/plinth/modules/zoph/privileged.py b/plinth/modules/zoph/privileged.py
index b63e7f960..4198d7b18 100644
--- a/plinth/modules/zoph/privileged.py
+++ b/plinth/modules/zoph/privileged.py
@@ -2,7 +2,6 @@
"""Configuration helper for Zoph server."""
import configparser
-import os
import pathlib
import re
import subprocess
@@ -159,7 +158,6 @@ def dump_database():
"""
with action_utils.service_ensure_running('mysql'):
db_name = _get_db_config()['db_name']
- os.makedirs(os.path.dirname(DB_BACKUP_FILE), exist_ok=True)
with open(DB_BACKUP_FILE, 'w', encoding='utf-8') as db_backup_file:
action_utils.run(['mysqldump', db_name], stdout=db_backup_file,
check=True)
From ead1b72251f428b419c46e6b0fa31da98d670ed2 Mon Sep 17 00:00:00 2001
From: James Valleroy
Date: Mon, 15 Dec 2025 20:18:52 -0500
Subject: [PATCH 22/24] locale: Update translation strings
Signed-off-by: James Valleroy
---
plinth/locale/ar/LC_MESSAGES/django.po | 14 +++---
plinth/locale/ar_SA/LC_MESSAGES/django.po | 14 +++---
plinth/locale/be/LC_MESSAGES/django.po | 14 +++---
plinth/locale/bg/LC_MESSAGES/django.po | 40 ++++++++++-------
plinth/locale/bn/LC_MESSAGES/django.po | 19 ++++----
plinth/locale/ca/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/cs/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/da/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/de/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/django.pot | 14 +++---
plinth/locale/el/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/es/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/et/LC_MESSAGES/django.po | 14 +++---
plinth/locale/fa/LC_MESSAGES/django.po | 14 +++---
plinth/locale/fake/LC_MESSAGES/django.po | 14 +++---
plinth/locale/fr/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/gl/LC_MESSAGES/django.po | 14 +++---
plinth/locale/gu/LC_MESSAGES/django.po | 14 +++---
plinth/locale/hi/LC_MESSAGES/django.po | 29 +++++++-----
plinth/locale/hu/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/id/LC_MESSAGES/django.po | 19 ++++----
plinth/locale/it/LC_MESSAGES/django.po | 50 ++++++++++++---------
plinth/locale/ja/LC_MESSAGES/django.po | 14 +++---
plinth/locale/kn/LC_MESSAGES/django.po | 14 +++---
plinth/locale/lt/LC_MESSAGES/django.po | 19 ++++----
plinth/locale/lv/LC_MESSAGES/django.po | 19 ++++----
plinth/locale/nb/LC_MESSAGES/django.po | 19 ++++----
plinth/locale/nl/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/pl/LC_MESSAGES/django.po | 19 ++++----
plinth/locale/pt/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/ru/LC_MESSAGES/django.po | 36 +++++++++------
plinth/locale/si/LC_MESSAGES/django.po | 14 +++---
plinth/locale/sl/LC_MESSAGES/django.po | 19 ++++----
plinth/locale/sq/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/sr/LC_MESSAGES/django.po | 19 ++++----
plinth/locale/sv/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/ta/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/te/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/tr/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/uk/LC_MESSAGES/django.po | 26 +++++++----
plinth/locale/vi/LC_MESSAGES/django.po | 14 +++---
plinth/locale/zh_Hans/LC_MESSAGES/django.po | 21 +++++----
plinth/locale/zh_Hant/LC_MESSAGES/django.po | 14 +++---
43 files changed, 565 insertions(+), 375 deletions(-)
diff --git a/plinth/locale/ar/LC_MESSAGES/django.po b/plinth/locale/ar/LC_MESSAGES/django.po
index c60d4c1df..2d19410a1 100644
--- a/plinth/locale/ar/LC_MESSAGES/django.po
+++ b/plinth/locale/ar/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-04-16 02:28+0000\n"
"Last-Translator: MohammedSaalif <2300031323@kluniversity.in>\n"
"Language-Team: Arabic Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/ar_SA/LC_MESSAGES/django.po b/plinth/locale/ar_SA/LC_MESSAGES/django.po
index 761a3ce2b..d984a0c35 100644
--- a/plinth/locale/ar_SA/LC_MESSAGES/django.po
+++ b/plinth/locale/ar_SA/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2020-06-10 15:41+0000\n"
"Last-Translator: aiman an \n"
"Language-Team: Arabic (Saudi Arabia) Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/be/LC_MESSAGES/django.po b/plinth/locale/be/LC_MESSAGES/django.po
index deec25baf..6737614f8 100644
--- a/plinth/locale/be/LC_MESSAGES/django.po
+++ b/plinth/locale/be/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -4107,14 +4107,14 @@ msgstr ""
#: plinth/modules/minetest/__init__.py:33
#, python-brace-format
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/bg/LC_MESSAGES/django.po b/plinth/locale/bg/LC_MESSAGES/django.po
index 1f6c78797..e3a8f9f6a 100644
--- a/plinth/locale/bg/LC_MESSAGES/django.po
+++ b/plinth/locale/bg/LC_MESSAGES/django.po
@@ -7,10 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-12-11 07:00+0000\n"
-"Last-Translator: 109247019824 <109247019824@users.noreply.hosted.weblate.org>"
-"\n"
+"Last-Translator: 109247019824 "
+"<109247019824@users.noreply.hosted.weblate.org>\n"
"Language-Team: Bulgarian \n"
"Language: bg\n"
@@ -2863,9 +2863,9 @@ msgid ""
"Review and setup network "
"connections. Change the default Wi-Fi password, if applicable."
msgstr ""
-"Прегледайте и настройте "
-"мрежвата свързаност. Сменете подразбираната парола за безжичната мрежа, "
-"ако е необходимо."
+"Прегледайте и настройте мрежвата свързаност. Сменете подразбираната парола за "
+"безжичната мрежа, ако е необходимо."
#: plinth/modules/first_boot/templates/firstboot_complete.html:60
#, python-format
@@ -2889,8 +2889,8 @@ msgid ""
"Put %(box_name)s to use by installing apps."
msgstr ""
-"Започнете да използвате %(box_name)s като инсталирате приложения."
+"Започнете да използвате %(box_name)s като инсталирате приложения."
#: plinth/modules/first_boot/templates/firstboot_welcome.html:29
msgid "Start Setup"
@@ -4308,21 +4308,26 @@ msgid "Default language changed"
msgstr "Подразбираният език е променен"
#: plinth/modules/minetest/__init__.py:33
-#, python-brace-format
+#, fuzzy, python-brace-format
+#| msgid ""
+#| "Minetest is a multiplayer infinite-world block sandbox. This module "
+#| "enables the Minetest server to be run on this {box_name}, on the default "
+#| "port (30000). To connect to the server, a Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Luanti е многопотребителски пясъчник с безкраен свят от блокове. Модулът "
"дава възможност за създаване на сървър на Luanti на {box_name}, на порта по "
"подразбиране (30000). За да се свържете със сървъра, е необходим клиент за Luanti."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Luanti"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10061,6 +10066,9 @@ msgstr "преди премахване на {app_id}"
msgid "Gujarati"
msgstr "Гуджарати"
+#~ msgid "Minetest"
+#~ msgstr "Luanti"
+
#, python-brace-format
#~ msgid ""
#~ "When enabled, Tiny Tiny RSS can be accessed by \n"
"Language-Team: Bengali Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "মাইনটেস্ট"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -9570,6 +9570,9 @@ msgstr ""
msgid "Gujarati"
msgstr ""
+#~ msgid "Minetest"
+#~ msgstr "মাইনটেস্ট"
+
#, fuzzy
#~| msgid "Enabled"
#~ msgid "Manage Aliases for Mailbox"
diff --git a/plinth/locale/ca/LC_MESSAGES/django.po b/plinth/locale/ca/LC_MESSAGES/django.po
index 74232023c..a2b7a039f 100644
--- a/plinth/locale/ca/LC_MESSAGES/django.po
+++ b/plinth/locale/ca/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-12-01 11:00+0000\n"
"Last-Translator: kosagi \n"
"Language-Team: Catalan Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest és un sandbox multijugador de blocs amb món infinit. Aquest mòdul "
"permet executar el servidor Minetest en aquest {box_name}, al port per "
"defecte (30000). Per connectar-se al servidor, cal un client de Minetest."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10144,6 +10149,9 @@ msgstr ""
msgid "Gujarati"
msgstr ""
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid "Tiny Tiny RSS"
#~ msgstr "Tiny Tiny RSS"
diff --git a/plinth/locale/cs/LC_MESSAGES/django.po b/plinth/locale/cs/LC_MESSAGES/django.po
index 5e00fc2f1..73450e341 100644
--- a/plinth/locale/cs/LC_MESSAGES/django.po
+++ b/plinth/locale/cs/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-12-11 07:00+0000\n"
"Last-Translator: Jiří Podhorecký \n"
"Language-Team: Czech Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest je nekonečné pískoviště pro více hráčů. Tento modul zapne Minetest "
"server na tomto {box_name}, na výchozím portu (30000). Pro připojení k "
"serveru je třeba Minetest "
"klient."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10773,6 +10778,9 @@ msgstr "před odinstalací {app_id}"
msgid "Gujarati"
msgstr "gudžarátština"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/da/LC_MESSAGES/django.po b/plinth/locale/da/LC_MESSAGES/django.po
index b62ddffe2..8c6cb5066 100644
--- a/plinth/locale/da/LC_MESSAGES/django.po
+++ b/plinth/locale/da/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Danish Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest er et fler-spiller uendelig-verden blok-spil. Dette modul "
"aktiverer Minetest-serveren på denne {box_name}, på standardporten (30000). "
"For at forbinde til serveren skal der bruges en Minetest klient."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -11002,6 +11007,9 @@ msgstr ""
msgid "Gujarati"
msgstr ""
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/de/LC_MESSAGES/django.po b/plinth/locale/de/LC_MESSAGES/django.po
index a62028356..64fcc7790 100644
--- a/plinth/locale/de/LC_MESSAGES/django.po
+++ b/plinth/locale/de/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-11-13 13:51+0000\n"
"Last-Translator: Dietmar \n"
"Language-Team: German Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest ist ein grenzenloses Multiplayer-Block-Sandkastenspiel. Dieses "
"Modul ermöglicht das Starten eines Minetest-Servers auf {box_name} auf dem "
"Standardport (30000). Um auf dem Server zu spielen, wird ein Minetest-Client benötigt."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -11015,6 +11020,9 @@ msgstr "vor der Deinstallation von {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/django.pot b/plinth/locale/django.pot
index 91e82e478..26e98113d 100644
--- a/plinth/locale/django.pot
+++ b/plinth/locale/django.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -4108,14 +4108,14 @@ msgstr ""
#: plinth/modules/minetest/__init__.py:33
#, python-brace-format
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/el/LC_MESSAGES/django.po b/plinth/locale/el/LC_MESSAGES/django.po
index d7bdea537..e82b55138 100644
--- a/plinth/locale/el/LC_MESSAGES/django.po
+++ b/plinth/locale/el/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Greek Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Το Minetest είναι ένα άπειρου κόσμου μπλοκ sandbox με υποστήριξη για πολλούς "
"χρήστες (multiplayer). Αυτή η ενότητα επιτρέπει στο διακομιστή Minetest να "
@@ -4869,9 +4874,9 @@ msgstr ""
"συνδεθείτε με το διακομιστή, ένας Minetest πελάτη είναι απαραίτητος."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -11284,6 +11289,9 @@ msgstr ""
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/es/LC_MESSAGES/django.po b/plinth/locale/es/LC_MESSAGES/django.po
index 5b9518ba9..6dc88db56 100644
--- a/plinth/locale/es/LC_MESSAGES/django.po
+++ b/plinth/locale/es/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2024-11-01 17:00+0000\n"
"Last-Translator: gallegonovato \n"
"Language-Team: Spanish Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest es un juego sandbox de bloques de mundo infinito y multijugador. "
"Este módulo activa el servidor Minetest en su {box_name}, en el puerto por "
"defecto (30000). Para acceder al servidor necesitará un Cliente Minetest."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -11083,6 +11088,9 @@ msgstr "antes de desinstalar {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/et/LC_MESSAGES/django.po b/plinth/locale/et/LC_MESSAGES/django.po
index 2d8a98341..4b9281825 100644
--- a/plinth/locale/et/LC_MESSAGES/django.po
+++ b/plinth/locale/et/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-12-14 09:00+0000\n"
"Last-Translator: Priit Jõerüüt \n"
"Language-Team: Estonian Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/fa/LC_MESSAGES/django.po b/plinth/locale/fa/LC_MESSAGES/django.po
index cdb034c77..5ab62d367 100644
--- a/plinth/locale/fa/LC_MESSAGES/django.po
+++ b/plinth/locale/fa/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Persian Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"ماینتست (Minetest) یک بازی چندنفرهٔ مکعب با جهان نامحدود است. با این برنامه "
"میتوان یک سرور ماینتست را در {box_name} روی پورت پیشفرض (30000) اجرا کرد. "
"برای اتصال به سرور به یک برنامهٔ ماینتست نیاز است."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/fake/LC_MESSAGES/django.po b/plinth/locale/fake/LC_MESSAGES/django.po
index 5ed6943a3..bea1fb593 100644
--- a/plinth/locale/fake/LC_MESSAGES/django.po
+++ b/plinth/locale/fake/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth 0.6\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2016-01-31 22:24+0530\n"
"Last-Translator: Sunil Mohan Adapa \n"
"Language-Team: Plinth Developers Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/fr/LC_MESSAGES/django.po b/plinth/locale/fr/LC_MESSAGES/django.po
index f10fed4fd..55f87d920 100644
--- a/plinth/locale/fr/LC_MESSAGES/django.po
+++ b/plinth/locale/fr/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-12-02 12:00+0000\n"
"Last-Translator: Coucouf \n"
"Language-Team: French Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest est un jeu bac à sable multijoueur. Ce module active un serveur "
"Minetest sur la {box_name} sur le port par défaut (30000). Pour se connecter "
"au serveur, vous devez disposer d’un client Minetest."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -11067,6 +11072,9 @@ msgstr "avant la désinstallation de {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/gl/LC_MESSAGES/django.po b/plinth/locale/gl/LC_MESSAGES/django.po
index 95a7afb4c..e66c6c40e 100644
--- a/plinth/locale/gl/LC_MESSAGES/django.po
+++ b/plinth/locale/gl/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2022-12-30 10:51+0000\n"
"Last-Translator: gallegonovato \n"
"Language-Team: Galician Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/gu/LC_MESSAGES/django.po b/plinth/locale/gu/LC_MESSAGES/django.po
index ec4fc48ec..7f3d0282a 100644
--- a/plinth/locale/gu/LC_MESSAGES/django.po
+++ b/plinth/locale/gu/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2021-01-18 12:32+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Gujarati Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/hi/LC_MESSAGES/django.po b/plinth/locale/hi/LC_MESSAGES/django.po
index f618f410e..a8d7635c6 100644
--- a/plinth/locale/hi/LC_MESSAGES/django.po
+++ b/plinth/locale/hi/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-12-16 01:15+0000\n"
"Last-Translator: bsurajpatra \n"
"Language-Team: Hindi Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"मैइनटेस्ट एक मल्टीप्लेयर अनंत-दुनिया ब्लॉक सेंडबोक्स है. इस मॉड्यूल मैइनटेस्ट सर्वर इस "
"{box_name} पर चल सकवाते है, डिफ़ॉल्ट पोर्ट (३००००) पर. सर्वर से कनेक्ट करने के लिए, एक "
"मैइनटेस्ट क्लायंटकी आवश्यकता है."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "मैइनटेस्ट"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -11051,6 +11055,9 @@ msgstr "{app_id} को अनइंस्टॉल करने से पह
msgid "Gujarati"
msgstr "गुजराती"
+#~ msgid "Minetest"
+#~ msgstr "मैइनटेस्ट"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/hu/LC_MESSAGES/django.po b/plinth/locale/hu/LC_MESSAGES/django.po
index 1f795be23..3d1726d54 100644
--- a/plinth/locale/hu/LC_MESSAGES/django.po
+++ b/plinth/locale/hu/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-06-04 15:01+0000\n"
"Last-Translator: András Szűcs "
"\n"
@@ -4806,12 +4806,17 @@ msgid "Default language changed"
msgstr "Az alapértelmezett felszín megváltozott"
#: plinth/modules/minetest/__init__.py:33
-#, python-brace-format
+#, fuzzy, python-brace-format
+#| msgid ""
+#| "Minetest is a multiplayer infinite-world block sandbox. This module "
+#| "enables the Minetest server to be run on this {box_name}, on the default "
+#| "port (30000). To connect to the server, a Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"A Minetest egy többjátékos nyílt játékterű blokk sandbox játék. Ez a modul "
"lehetővé teszi hogy a Minetest-szerver ezen a {box_name} eszközön, az "
@@ -4819,9 +4824,9 @@ msgstr ""
"szerverre egy Minetest "
"kliensre is szükséged lesz."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -11220,6 +11225,9 @@ msgstr ""
msgid "Gujarati"
msgstr "Gudzsaráti"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/id/LC_MESSAGES/django.po b/plinth/locale/id/LC_MESSAGES/django.po
index 5b7bb2abd..f232e776d 100644
--- a/plinth/locale/id/LC_MESSAGES/django.po
+++ b/plinth/locale/id/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Indonesian (FreedomBox)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Indonesian Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10438,6 +10438,9 @@ msgstr ""
msgid "Gujarati"
msgstr "Bahasa Gujarat"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#, fuzzy, python-brace-format
#~| msgid ""
#~| "It can be accessed by any user on {box_name} "
diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po
index 023199208..e7178e2de 100644
--- a/plinth/locale/it/LC_MESSAGES/django.po
+++ b/plinth/locale/it/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-12-16 01:16+0000\n"
"Last-Translator: Pierfrancesco Passerini \n"
"Language-Team: Italian user with a {box_name} login."
msgstr ""
"Per comunicare, puoi usare un qualsiasi client web"
-"a> o un "
-"client XMPP . Quando ejabberd è abilitato, tutti hanno la possibilità di "
-"accedervi con utente con login {box_name} ."
+"a> o un client XMPP . Quando ejabberd è abilitato, tutti hanno "
+"la possibilità di accedervi con utente con login "
+"{box_name} ."
#: plinth/modules/ejabberd/__init__.py:40
#, python-brace-format
@@ -3528,8 +3529,9 @@ msgid ""
msgstr ""
"Molti contributori e utenti %(box_name)s sono disponibili nella rete IRC "
"irc.oftc.net. Unisciti a loro e chiedi aiuto nel canale "
-"#freedombox usando l'interfaccia web IRC."
+"webchat.oftc.net/?"
+"randomnick=1&channels=freedombox&prompt=1\">#freedombox usando "
+"l'interfaccia web IRC."
#: plinth/modules/help/templates/help_manual.html:18
msgid "Download as PDF"
@@ -4539,21 +4541,26 @@ msgid "Default language changed"
msgstr "Lingua predefinita modificata"
#: plinth/modules/minetest/__init__.py:33
-#, python-brace-format
+#, fuzzy, python-brace-format
+#| msgid ""
+#| "Minetest is a multiplayer infinite-world block sandbox. This module "
+#| "enables the Minetest server to be run on this {box_name}, on the default "
+#| "port (30000). To connect to the server, a Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest è un gioco \"sandbox\" multiplayer, con quadri infiniti. Questo "
"modulo abilita l'esecuzione del server Minetest su questo {box_name}, nella "
"porta predefinita (30000). Per connettersi al server, è necessario un client Minetest."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -6022,8 +6029,8 @@ msgid ""
"Your Internet connection is directly attached to your %(box_name)s and there "
"are no other devices on the network."
msgstr ""
-"La propria connessione internet è collegata direttamente al proprio %"
-"(box_name)s e non ci sono altri dispositivi sulla rete."
+"La propria connessione internet è collegata direttamente al proprio "
+"%(box_name)s e non ci sono altri dispositivi sulla rete."
#: plinth/modules/networks/templates/networks_configuration.html:24
#, fuzzy
@@ -7140,8 +7147,8 @@ msgid ""
"When enabled, RSS-Bridge can be accessed by any "
"user belonging to the feed-reader group."
msgstr ""
-"Quando è abilitato, RSS-Bridge è accessibile da "
-"qualsiasi utente appartenente al gruppo di feed-reader."
+"Quando è abilitato, RSS-Bridge è accessibile da qualsiasi utente appartenente al gruppo di feed-reader."
#: plinth/modules/rssbridge/__init__.py:28
#, python-brace-format
@@ -7453,8 +7460,8 @@ msgid ""
"Instead, they are maintained by contributors to Debian and the %(box_name)s "
"community."
msgstr ""
-"Gli aggiornamenti frequenti di funzionalità permettono ai servizi di %"
-"(box_name)s, e ad un insieme veramente limitato di software, di ricevere "
+"Gli aggiornamenti frequenti di funzionalità permettono ai servizi di "
+"%(box_name)s, e ad un insieme veramente limitato di software, di ricevere "
"nuove funzionalità più frequentemente (dal repository backports). Ciò "
"consente di fruire di alcune nuove funzionalità nel giro di settimane, "
"invece che ogni 2 anni o giù di lì. Da notare che il software con "
@@ -10307,6 +10314,9 @@ msgstr ""
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#, fuzzy, python-brace-format
#~| msgid ""
#~| "When enabled, Tiny Tiny RSS can be accessed by any \n"
"Language-Team: Japanese Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/kn/LC_MESSAGES/django.po b/plinth/locale/kn/LC_MESSAGES/django.po
index 22029ecc6..5cf506c78 100644
--- a/plinth/locale/kn/LC_MESSAGES/django.po
+++ b/plinth/locale/kn/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2020-07-16 16:41+0000\n"
"Last-Translator: Yogesh \n"
"Language-Team: Kannada Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/lt/LC_MESSAGES/django.po b/plinth/locale/lt/LC_MESSAGES/django.po
index 604e284d3..2582217c8 100644
--- a/plinth/locale/lt/LC_MESSAGES/django.po
+++ b/plinth/locale/lt/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Lithuanian Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -9519,6 +9519,9 @@ msgstr ""
msgid "Gujarati"
msgstr ""
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid "K-9 Mail"
#~ msgstr "K-9 Mail"
diff --git a/plinth/locale/lv/LC_MESSAGES/django.po b/plinth/locale/lv/LC_MESSAGES/django.po
index b0311b646..7163a9bed 100644
--- a/plinth/locale/lv/LC_MESSAGES/django.po
+++ b/plinth/locale/lv/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Latvian Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -9518,6 +9518,9 @@ msgstr ""
msgid "Gujarati"
msgstr ""
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid "K-9 Mail"
#~ msgstr "K-9 Mail"
diff --git a/plinth/locale/nb/LC_MESSAGES/django.po b/plinth/locale/nb/LC_MESSAGES/django.po
index 765ca08ac..cf2d486dd 100644
--- a/plinth/locale/nb/LC_MESSAGES/django.po
+++ b/plinth/locale/nb/LC_MESSAGES/django.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2024-10-27 23:30+0000\n"
"Last-Translator: Sunil Mohan Adapa \n"
"Language-Team: Norwegian Bokmål Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest er en multiplayer-uendelig-verden blokk sandkasse. Denne modulen "
"gjør det mulig for Minetest-tjeneren å kjøre på {box_name}, på den forvalgte "
"porten (30000). For å koble til tjeneren trengs en Minetest-klient."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -11113,6 +11113,9 @@ msgstr "før avinstallering av {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/nl/LC_MESSAGES/django.po b/plinth/locale/nl/LC_MESSAGES/django.po
index 5d6db756a..c35ee5391 100644
--- a/plinth/locale/nl/LC_MESSAGES/django.po
+++ b/plinth/locale/nl/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-09-17 09:01+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Dutch Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest is een multiplayer infinite-world block sandbox. Deze module zorgt "
"ervoor dat de Minetest server wordt uitgevoerd op {box_name}, via de "
"standaardpoort (30000). Voor de verbinding met de server is een Minetest client nodig."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10741,6 +10746,9 @@ msgstr "voor het verwijderen van {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/pl/LC_MESSAGES/django.po b/plinth/locale/pl/LC_MESSAGES/django.po
index ac5c66461..88cbc43c5 100644
--- a/plinth/locale/pl/LC_MESSAGES/django.po
+++ b/plinth/locale/pl/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2024-07-13 12:09+0000\n"
"Last-Translator: Monika \n"
"Language-Team: Polish Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10457,6 +10457,9 @@ msgstr ""
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#, fuzzy, python-brace-format
#~| msgid ""
#~| "When enabled, Tiny Tiny RSS can be accessed by any \n"
"Language-Team: Portuguese Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest é um sandbox de blocos multijogador com mundo infinito. Este módulo "
"permite que o servidor Minetest seja executado neste {box_name}, na porta "
"padrão (30000). Para se conectar ao servidor, é necessário um <a "
"href=\"http://www.minetest.net/downloads/\">cliente Minetest</a> ."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10923,6 +10928,9 @@ msgstr "antes da desinstalação do {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po
index 1d18b4285..ff343a376 100644
--- a/plinth/locale/ru/LC_MESSAGES/django.po
+++ b/plinth/locale/ru/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-12-16 01:15+0000\n"
"Last-Translator: OwlGale \n"
"Language-Team: Russian "
-"списке рассылки. Он также содержит информацию о проблемах, с которыми "
-"сталкиваются другие пользователи и возможные решения."
+"href=\"https://lists.alioth.debian.org/mailman/listinfo/freedombox-"
+"discuss\">списке рассылки. Он также содержит информацию о проблемах, с "
+"которыми сталкиваются другие пользователи и возможные решения."
#: plinth/modules/help/templates/help_index.html:42
#, python-format
@@ -3595,8 +3595,8 @@ msgid ""
msgstr ""
"Многих участников и пользователей %(box_name)s можно найти в сети IRC "
"irc.oftc.net. Присоединяйтесь и запрашивайте помощь на канале #freedombox с "
+"href=\"https://webchat.oftc.net/?"
+"randomnick=1&channels=freedombox&prompt=1\"> #freedombox с "
"помощью веб-интерфейса."
#: plinth/modules/help/templates/help_manual.html:18
@@ -4646,21 +4646,26 @@ msgid "Default language changed"
msgstr "Изменен язык по умолчанию"
#: plinth/modules/minetest/__init__.py:33
-#, python-brace-format
+#, fuzzy, python-brace-format
+#| msgid ""
+#| "Minetest is a multiplayer infinite-world block sandbox. This module "
+#| "enables the Minetest server to be run on this {box_name}, on the default "
+#| "port (30000). To connect to the server, a Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest - это многопользовательская песочница с бесконечным миром. Этот "
"модуль позволяет запустить сервер Minetest на этом {box_name}, с портом по "
"умолчанию (30000). Для подключения к серверу необходим клиент Minetest."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10858,6 +10863,9 @@ msgstr "перед удалением {app_id}"
msgid "Gujarati"
msgstr "Гуджарати"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/si/LC_MESSAGES/django.po b/plinth/locale/si/LC_MESSAGES/django.po
index bd6187f06..47f6e1158 100644
--- a/plinth/locale/si/LC_MESSAGES/django.po
+++ b/plinth/locale/si/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2021-04-27 13:32+0000\n"
"Last-Translator: HelaBasa \n"
"Language-Team: Sinhala Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/sl/LC_MESSAGES/django.po b/plinth/locale/sl/LC_MESSAGES/django.po
index 15e6d588c..2df31cfd7 100644
--- a/plinth/locale/sl/LC_MESSAGES/django.po
+++ b/plinth/locale/sl/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Slovenian Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -9988,6 +9988,9 @@ msgstr ""
msgid "Gujarati"
msgstr ""
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#, fuzzy, python-brace-format
#~| msgid ""
#~| "When enabled, Cockpit will be available from /"
diff --git a/plinth/locale/sq/LC_MESSAGES/django.po b/plinth/locale/sq/LC_MESSAGES/django.po
index 5c7176d70..c621ab159 100644
--- a/plinth/locale/sq/LC_MESSAGES/django.po
+++ b/plinth/locale/sq/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-12-11 07:00+0000\n"
"Last-Translator: Besnik Bleta \n"
"Language-Team: Albanian Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest është një bankëprovë blloqesh lojërash “botë e pafundme” me shumë "
"lojtarë. Ky modul i bën të mundur shërbyesit Minetest të xhirojë mbi këtë "
@@ -4676,9 +4681,9 @@ msgstr ""
"lypset një klient Minetest"
"a>."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10897,6 +10902,9 @@ msgstr "para çinstalimit të {app_id}"
msgid "Gujarati"
msgstr "Gujaratase"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/sr/LC_MESSAGES/django.po b/plinth/locale/sr/LC_MESSAGES/django.po
index 7bfa6a408..184fb22e6 100644
--- a/plinth/locale/sr/LC_MESSAGES/django.po
+++ b/plinth/locale/sr/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Serbian Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -9816,6 +9816,9 @@ msgstr ""
msgid "Gujarati"
msgstr ""
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#, fuzzy, python-brace-format
#~| msgid ""
#~| "It can be accessed by any user on {box_name} "
diff --git a/plinth/locale/sv/LC_MESSAGES/django.po b/plinth/locale/sv/LC_MESSAGES/django.po
index a8ea18f92..5e042ab25 100644
--- a/plinth/locale/sv/LC_MESSAGES/django.po
+++ b/plinth/locale/sv/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2024-07-30 01:31+0000\n"
"Last-Translator: bittin1ddc447d824349b2 \n"
"Language-Team: Swedish Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest är en multiplayer-sandlåda med oändlig värld. Denna modul gör det "
"möjligt att köra Minetest-servern på denna {box_name}, på standardporten "
"(30000). För att ansluta till servern, en Minetest klient behövs."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -11090,6 +11095,9 @@ msgstr "innan du avinstallerar {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/ta/LC_MESSAGES/django.po b/plinth/locale/ta/LC_MESSAGES/django.po
index bdbb717f0..f0779d6c5 100644
--- a/plinth/locale/ta/LC_MESSAGES/django.po
+++ b/plinth/locale/ta/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-08-17 08:02+0000\n"
"Last-Translator: தமிழ்நேரம் \n"
"Language-Team: Tamil Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"மின்டெச்ட் ஒரு மல்டிபிளேயர் எல்லையற்ற-உலக தொகுதி சாண்ட்பாக்ச் ஆகும். இந்த தொகுதி "
"இயல்புநிலை துறைமுகத்தில் (30000) இந்த {box_name} at இல் இயங்குவதற்கு மின்டெச்ட் "
"சேவையகத்தை இயக்குகிறது. சேவையகத்துடன் இணைக்க, ஒரு மின்டெச்ட் வாங்கி தேவை."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "பயணத்திலிருந்து"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10746,6 +10751,9 @@ msgstr "{app_id} ஐ நிறுவல் நீக்குவதற்கு
msgid "Gujarati"
msgstr "குசராத்தி"
+#~ msgid "Minetest"
+#~ msgstr "பயணத்திலிருந்து"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/te/LC_MESSAGES/django.po b/plinth/locale/te/LC_MESSAGES/django.po
index 1b0dd67d5..d72471d4b 100644
--- a/plinth/locale/te/LC_MESSAGES/django.po
+++ b/plinth/locale/te/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-05-14 17:03+0000\n"
"Last-Translator: Sripath Roy Koganti \n"
"Language-Team: Telugu Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest అనేది మల్టీప్లేయర్ అనంత-వరల్డ్ బ్లాక్ శాండ్బాక్స్. ఈ మాడ్యూల్ డిఫాల్ట్ పోర్ట్లో (30000) ఈ "
"{box_name}లో Minetest సర్వర్ని అమలు చేయడానికి అనుమతిస్తుంది. సర్వర్కి కనెక్ట్ చేయడానికి, Minetest క్లయింట్ అవసరం."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "మైన్ టెస్ట్"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10512,6 +10517,9 @@ msgstr "{app_id} ని అన్ఇన్స్టాల్ చేయడా
msgid "Gujarati"
msgstr "గుజరాతీ"
+#~ msgid "Minetest"
+#~ msgstr "మైన్ టెస్ట్"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/tr/LC_MESSAGES/django.po b/plinth/locale/tr/LC_MESSAGES/django.po
index 47a5f8304..5f494d094 100644
--- a/plinth/locale/tr/LC_MESSAGES/django.po
+++ b/plinth/locale/tr/LC_MESSAGES/django.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-12-10 06:00+0000\n"
"Last-Translator: Burak Yavuz \n"
"Language-Team: Turkish Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest, çok oyunculu sonsuz dünyalı bir blok kum havuzudur. Bu modül "
"Minetest sunucusunun bu {box_name} üzerinde, varsayılan bağlantı noktasında "
@@ -4644,9 +4649,9 @@ msgstr ""
"href=\"http://www.minetest.net/downloads/\">Minetest istemcisi "
"gereklidir."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10828,6 +10833,9 @@ msgstr "{app_id} kaldırılmadan önce"
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/uk/LC_MESSAGES/django.po b/plinth/locale/uk/LC_MESSAGES/django.po
index 65ab2f8fe..7474ffea9 100644
--- a/plinth/locale/uk/LC_MESSAGES/django.po
+++ b/plinth/locale/uk/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-12-10 06:00+0000\n"
"Last-Translator: Максим Горпиніч \n"
"Language-Team: Ukrainian Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest — це багатокористувацька блокова пісочниця з нескінченним світом. "
"Цей модуль дозволяє запустити сервер Minetest на цьому {box_name}, з типовим "
"портом (30000). Щоб підʼєднатися до сервера потрібено клієнт Minetest."
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
-msgstr "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
+msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@@ -10818,6 +10823,9 @@ msgstr "перед видаленням {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Minetest"
+#~ msgstr "Minetest"
+
#~ msgid ""
#~ "Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed "
#~ "to allow reading news from any location, while feeling as close to a real "
diff --git a/plinth/locale/vi/LC_MESSAGES/django.po b/plinth/locale/vi/LC_MESSAGES/django.po
index 5f89800da..c408510d9 100644
--- a/plinth/locale/vi/LC_MESSAGES/django.po
+++ b/plinth/locale/vi/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2021-07-28 08:34+0000\n"
"Last-Translator: bruh \n"
"Language-Team: Vietnamese Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/zh_Hans/LC_MESSAGES/django.po b/plinth/locale/zh_Hans/LC_MESSAGES/django.po
index 709d81a25..db07f7871 100644
--- a/plinth/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/plinth/locale/zh_Hans/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-11-12 07:51+0000\n"
"Last-Translator: 大王叫我来巡山 "
"\n"
@@ -4247,19 +4247,24 @@ msgid "Default language changed"
msgstr "默认语言已更改"
#: plinth/modules/minetest/__init__.py:33
-#, python-brace-format
+#, fuzzy, python-brace-format
+#| msgid ""
+#| "Minetest is a multiplayer infinite-world block sandbox. This module "
+#| "enables the Minetest server to be run on this {box_name}, on the default "
+#| "port (30000). To connect to the server, a Minetest client is needed."
msgid ""
-"Minetest is a multiplayer infinite-world block sandbox. This module enables "
-"the Minetest server to be run on this {box_name}, on the default port "
-"(30000). To connect to the server, a Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
"Minetest 是一个多人无限世界块沙盒。此模块允许在此 {box_name} 的默认端口"
"(30000)上运行 Minetest 服务器。要连接到服务器,需要 Minetest 客户端。"
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
diff --git a/plinth/locale/zh_Hant/LC_MESSAGES/django.po b/plinth/locale/zh_Hant/LC_MESSAGES/django.po
index ae80d247b..d2f596094 100644
--- a/plinth/locale/zh_Hant/LC_MESSAGES/django.po
+++ b/plinth/locale/zh_Hant/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-09 01:26+0000\n"
+"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2025-02-07 12:01+0000\n"
"Last-Translator: pesder \n"
"Language-Team: Chinese (Traditional Han script) Minetest client is needed."
+"Luanti, formally known as Minetest, is a multiplayer infinite-world block "
+"sandbox. This module enables the Luanti server to be run on this {box_name}, "
+"on the default port (30000). To connect to the server, a Luanti client is needed."
msgstr ""
-#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
-msgid "Minetest"
+#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
+msgid "Luanti"
msgstr ""
#: plinth/modules/minetest/forms.py:13
From f48770e12b92ac628913d9dfe4e7f8a3c8b9bbd3 Mon Sep 17 00:00:00 2001
From: James Valleroy
Date: Mon, 15 Dec 2025 20:34:46 -0500
Subject: [PATCH 23/24] doc: Fetch latest manual
Signed-off-by: James Valleroy
---
doc/manual/en/HomeAssistant.raw.wiki | 2 +-
doc/manual/en/VirtualBox.raw.wiki | 7 +++----
doc/manual/en/images/virtualbox-create-1.png | Bin 0 -> 124957 bytes
doc/manual/en/images/virtualbox-create-2.png | Bin 0 -> 92454 bytes
doc/manual/en/images/virtualbox-create-3.png | Bin 0 -> 32671 bytes
doc/manual/en/images/virtualbox-create-4.png | Bin 0 -> 107414 bytes
.../en/images/virtualbox_harddisk_file.png | Bin 102304 -> 0 bytes
doc/manual/en/images/virtualbox_os_type.png | Bin 85269 -> 0 bytes
doc/manual/es/VirtualBox.raw.wiki | 7 +++----
doc/manual/es/images/virtualbox-create-1.png | Bin 0 -> 124957 bytes
doc/manual/es/images/virtualbox-create-2.png | Bin 0 -> 92454 bytes
doc/manual/es/images/virtualbox-create-3.png | Bin 0 -> 32671 bytes
doc/manual/es/images/virtualbox-create-4.png | Bin 0 -> 107414 bytes
.../es/images/virtualbox_harddisk_file.png | Bin 102304 -> 0 bytes
doc/manual/es/images/virtualbox_os_type.png | Bin 85269 -> 0 bytes
15 files changed, 7 insertions(+), 9 deletions(-)
create mode 100644 doc/manual/en/images/virtualbox-create-1.png
create mode 100644 doc/manual/en/images/virtualbox-create-2.png
create mode 100644 doc/manual/en/images/virtualbox-create-3.png
create mode 100644 doc/manual/en/images/virtualbox-create-4.png
delete mode 100644 doc/manual/en/images/virtualbox_harddisk_file.png
delete mode 100644 doc/manual/en/images/virtualbox_os_type.png
create mode 100644 doc/manual/es/images/virtualbox-create-1.png
create mode 100644 doc/manual/es/images/virtualbox-create-2.png
create mode 100644 doc/manual/es/images/virtualbox-create-3.png
create mode 100644 doc/manual/es/images/virtualbox-create-4.png
delete mode 100644 doc/manual/es/images/virtualbox_harddisk_file.png
delete mode 100644 doc/manual/es/images/virtualbox_os_type.png
diff --git a/doc/manual/en/HomeAssistant.raw.wiki b/doc/manual/en/HomeAssistant.raw.wiki
index 2667b1b8b..a5a5ac35a 100644
--- a/doc/manual/en/HomeAssistant.raw.wiki
+++ b/doc/manual/en/HomeAssistant.raw.wiki
@@ -21,7 +21,7 @@ Home Assistant app is considered experimental in !FreedomBox as it is fairly new
=== Hardware ===
-Home Assistant can detect, configure, and use various devices on the local network. For example, if a device is connected using Wi-Fi or LAN to the same network as !FreedomBox, Home Assistant can detect, configure, and use the device. Other home automation protocols such as Thread, !ZigBee, and Z-Wave are also supported but require additional hardware to be connected to your !FreedomBox. For example, if you have a door sensor that speaks !ZigBee, you need to attach a !ZigBee USB dongle to your !FreedomBox. Home Assistant can then detect and use the door sensor on the !ZigBee network.
+Home Assistant can detect, configure, and use various devices on the local network. For example, if a device is connected using Wi-Fi or LAN to the same network as !FreedomBox, Home Assistant can detect, configure, and use the device. Other home automation protocols such as Thread, !ZigBee, and Z-Wave are also supported but require additional hardware to be connected to your !FreedomBox. For example, if you have a door sensor that speaks !ZigBee, you need to attach a !ZigBee USB dongle to your !FreedomBox. Home Assistant can then detect and use the door sensor on the !ZigBee network. '''Note:''' if you attach any such hardware to FreedomBox after you install the Home Assistant app, then you need to disable and re-enable the Home Assistant app before the hardware can be discovered and used by Home Assistant.
Home Assistant is a comprehensive solution for your home automation needs supporting thousands of devices. You can check whether a device is supported by Home Assistant by visiting the [[https://www.home-assistant.io/integrations/|integrations]] page. Other devices which are not listed may also be supported when they are similar to supported devices. It is recommended that you purchase hardware that advertises support for Home Assistant.
diff --git a/doc/manual/en/VirtualBox.raw.wiki b/doc/manual/en/VirtualBox.raw.wiki
index fec534a68..8e931ee6e 100644
--- a/doc/manual/en/VirtualBox.raw.wiki
+++ b/doc/manual/en/VirtualBox.raw.wiki
@@ -22,12 +22,11 @@ Follow the instructions on the [[FreedomBox/Download|download]] page to download
1. Decompress the downloaded VDI image (tool for [[http://www.7-zip.org/|Windows]], [[http://unarchiver.c3.cx/unarchiver|Mac]]).
- 1. Create a new VM in the !VirtualBox UI with OS type ''Linux'' and Version ''Debian'' (32/64-bit according to the downloaded image).
-{{attachment:virtualbox_os_type.png|VirtualBox Name and OS dialog}}
+ 1. Create a new VM in the !VirtualBox UI with OS type ''Linux'' and Version ''Debian'' (32/64-bit according to the downloaded image). {{attachment:virtualbox-create-1.png|VirtualBox Name and OS dialog}}
- 1. In the ''Hard disk'' dialog choose ''Use an existing virtual hard disk file'' and select the .vdi file you extracted in step 1.
+ 1. In the ''Hardware'' dialog choose ''Enable EFI (special OSes only)''. You may increase the Base Memory and Processors if desired. {{attachment:virtualbox-create-2.png|VirtualBox Hardware dialog}}
-{{attachment:virtualbox_harddisk_file.png|VirtualBox Hard disk dialog}}
+ 1. In the ''Hard disk'' dialog choose ''Use an existing virtual hard disk file'' and select the .vdi file you extracted in step 1. {{attachment:virtualbox-create-3.png|VirtualBox Hard disk selector}} {{attachment:virtualbox-create-4.png|VirtualBox Hard disk dialog}}
1. When created, go to the virtual machine's Settings -> [Network] -> [Adapter 1]->[Attached to:] and choose the network type your want the machine to use according to the explanation in Network Configuration below. The recommended type is the ''Bridged adapter'' option, but be aware that this exposes the !FreedomBox's services to your entire local network.
diff --git a/doc/manual/en/images/virtualbox-create-1.png b/doc/manual/en/images/virtualbox-create-1.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c032fc8e7be66fff599abb770ecfd5443e8c22c
GIT binary patch
literal 124957
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