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
diff --git a/debian/changelog b/debian/changelog
index 08ae1d2d0..d63af3bde 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,51 @@
+freedombox (25.17.1) unstable; urgency=medium
+
+ [ James Valleroy ]
+ * vagrant: Enable EFI firmware
+ * locale: Update translation strings
+ * doc: Fetch latest manual
+
+ [ Burak Yavuz ]
+ * Translated using Weblate (Turkish)
+
+ [ Besnik Bleta ]
+ * Translated using Weblate (Albanian)
+
+ [ Максим Горпиніч ]
+ * Translated using Weblate (Ukrainian)
+
+ [ 109247019824 ]
+ * Translated using Weblate (Bulgarian)
+
+ [ Jiří Podhorecký ]
+ * Translated using Weblate (Czech)
+
+ [ Benedek Nagy ]
+ * transmission: remove obsolete apache redirects
+ * minetest: Rename Minetest to Luanti
+
+ [ Priit Jõerüüt ]
+ * Translated using Weblate (Estonian)
+
+ [ OwlGale ]
+ * Translated using Weblate (Russian)
+
+ [ Diego Roversi ]
+ * Translated using Weblate (Italian)
+
+ [ Pierfrancesco Passerini ]
+ * Translated using Weblate (Italian)
+
+ [ Sunil Mohan Adapa ]
+ * minetest: Remove legacy code, use new name, conf, etc.
+ * transmission: Deal with changes in latest forky package
+ * backups: Set proper permissions for backups-data directory
+
+ [ bsurajpatra ]
+ * Translated using Weblate (Hindi)
+
+ -- James Valleroy Mon, 15 Dec 2025 20:35:00 -0500
+
freedombox (25.17~bpo13+1) trixie-backports; urgency=medium
* Rebuild for trixie-backports.
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/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 000000000..4c032fc8e
Binary files /dev/null and b/doc/manual/en/images/virtualbox-create-1.png differ
diff --git a/doc/manual/en/images/virtualbox-create-2.png b/doc/manual/en/images/virtualbox-create-2.png
new file mode 100644
index 000000000..86b58bced
Binary files /dev/null and b/doc/manual/en/images/virtualbox-create-2.png differ
diff --git a/doc/manual/en/images/virtualbox-create-3.png b/doc/manual/en/images/virtualbox-create-3.png
new file mode 100644
index 000000000..dde66a1de
Binary files /dev/null and b/doc/manual/en/images/virtualbox-create-3.png differ
diff --git a/doc/manual/en/images/virtualbox-create-4.png b/doc/manual/en/images/virtualbox-create-4.png
new file mode 100644
index 000000000..1d345c92d
Binary files /dev/null and b/doc/manual/en/images/virtualbox-create-4.png differ
diff --git a/doc/manual/en/images/virtualbox_harddisk_file.png b/doc/manual/en/images/virtualbox_harddisk_file.png
deleted file mode 100644
index cbf197e18..000000000
Binary files a/doc/manual/en/images/virtualbox_harddisk_file.png and /dev/null differ
diff --git a/doc/manual/en/images/virtualbox_os_type.png b/doc/manual/en/images/virtualbox_os_type.png
deleted file mode 100644
index f9f5a73fb..000000000
Binary files a/doc/manual/en/images/virtualbox_os_type.png and /dev/null differ
diff --git a/doc/manual/es/VirtualBox.raw.wiki b/doc/manual/es/VirtualBox.raw.wiki
index fec534a68..8e931ee6e 100644
--- a/doc/manual/es/VirtualBox.raw.wiki
+++ b/doc/manual/es/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/es/images/virtualbox-create-1.png b/doc/manual/es/images/virtualbox-create-1.png
new file mode 100644
index 000000000..4c032fc8e
Binary files /dev/null and b/doc/manual/es/images/virtualbox-create-1.png differ
diff --git a/doc/manual/es/images/virtualbox-create-2.png b/doc/manual/es/images/virtualbox-create-2.png
new file mode 100644
index 000000000..86b58bced
Binary files /dev/null and b/doc/manual/es/images/virtualbox-create-2.png differ
diff --git a/doc/manual/es/images/virtualbox-create-3.png b/doc/manual/es/images/virtualbox-create-3.png
new file mode 100644
index 000000000..dde66a1de
Binary files /dev/null and b/doc/manual/es/images/virtualbox-create-3.png differ
diff --git a/doc/manual/es/images/virtualbox-create-4.png b/doc/manual/es/images/virtualbox-create-4.png
new file mode 100644
index 000000000..1d345c92d
Binary files /dev/null and b/doc/manual/es/images/virtualbox-create-4.png differ
diff --git a/doc/manual/es/images/virtualbox_harddisk_file.png b/doc/manual/es/images/virtualbox_harddisk_file.png
deleted file mode 100644
index cbf197e18..000000000
Binary files a/doc/manual/es/images/virtualbox_harddisk_file.png and /dev/null differ
diff --git a/doc/manual/es/images/virtualbox_os_type.png b/doc/manual/es/images/virtualbox_os_type.png
deleted file mode 100644
index f9f5a73fb..000000000
Binary files a/doc/manual/es/images/virtualbox_os_type.png and /dev/null differ
diff --git a/plinth/__init__.py b/plinth/__init__.py
index 28e5292be..ea4cb2430 100644
--- a/plinth/__init__.py
+++ b/plinth/__init__.py
@@ -3,4 +3,4 @@
Package init file.
"""
-__version__ = '25.17'
+__version__ = '25.17.1'
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/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 be5bba0aa..e3a8f9f6a 100644
--- a/plinth/locale/bg/LC_MESSAGES/django.po
+++ b/plinth/locale/bg/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
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"
+"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"
"Language-Team: Bulgarian 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
@@ -2837,6 +2840,9 @@ msgid ""
"Automatic 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
@@ -2848,6 +2854,8 @@ msgstr "Обновяване"
msgid ""
"Review privacy options."
msgstr ""
+"Прегледайте поверителните "
+"настройки."
#: plinth/modules/first_boot/templates/firstboot_complete.html:49
#, python-format
@@ -2855,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
@@ -2868,6 +2880,8 @@ msgid ""
"Configure and schedule remote backups."
msgstr ""
+"Настройка и график на отдалечени резервни копия."
#: plinth/modules/first_boot/templates/firstboot_complete.html:81
#, python-format
@@ -2875,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"
@@ -4292,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"
@@ -9949,11 +9970,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 +10001,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 +10029,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
@@ -10048,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 fee26275f..73450e341 100644
--- a/plinth/locale/cs/LC_MESSAGES/django.po
+++ b/plinth/locale/cs/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
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"
+"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 \n"
@@ -4609,21 +4609,26 @@ msgid "Default language changed"
msgstr "Výchozí jazyk se změnil"
#: 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 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"
@@ -10708,27 +10713,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"
@@ -10777,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 5a06760d5..4b9281825 100644
--- a/plinth/locale/et/LC_MESSAGES/django.po
+++ b/plinth/locale/et/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
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"
+"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 \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"
@@ -444,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"
@@ -603,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
@@ -616,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"
@@ -632,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."
@@ -4112,14 +4126,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
@@ -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
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 083a07449..a8d7635c6 100644
--- a/plinth/locale/hi/LC_MESSAGES/django.po
+++ b/plinth/locale/hi/LC_MESSAGES/django.po
@@ -7,9 +7,9 @@ msgid ""
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"
+"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 \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
@@ -1599,7 +1599,7 @@ msgstr ""
#: plinth/modules/coturn/templates/coturn.html:15
msgid "Use the following URLs to configure your communication server:"
-msgstr ""
+msgstr "अपने कम्युनिकेशन सर्वर को कॉन्फ़िगर करने के लिए निम्नलिखित URL का उपयोग करें:"
#: plinth/modules/coturn/templates/coturn.html:24
#, fuzzy
@@ -1620,7 +1620,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"
@@ -4757,20 +4757,25 @@ 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 ""
"मैइनटेस्ट एक मल्टीप्लेयर अनंत-दुनिया ब्लॉक सेंडबोक्स है. इस मॉड्यूल मैइनटेस्ट सर्वर इस "
"{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"
@@ -11050,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 dc2e134c7..e7178e2de 100644
--- a/plinth/locale/it/LC_MESSAGES/django.po
+++ b/plinth/locale/it/LC_MESSAGES/django.po
@@ -7,9 +7,9 @@ msgid ""
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"
+"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 \n"
"Language: it\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
@@ -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 "Servizio Scoperta"
+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 ""
@@ -1126,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
@@ -1151,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 ""
@@ -1160,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"
@@ -1184,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."
@@ -1211,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
@@ -1237,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
@@ -1286,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
@@ -1355,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
@@ -1369,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"
@@ -1440,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
@@ -1464,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"
@@ -1479,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"
@@ -1496,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 ""
@@ -1549,9 +1597,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."
@@ -1577,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"
@@ -1599,13 +1646,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
@@ -1636,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.
@@ -1656,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
@@ -1668,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"
@@ -1834,10 +1882,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 +2008,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
@@ -1985,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."
@@ -2000,7 +2047,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"
@@ -2072,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"
@@ -2112,17 +2158,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 "
+"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
@@ -2131,6 +2177,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"
@@ -2153,38 +2202,39 @@ 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"
-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"
@@ -2192,7 +2242,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"
@@ -2203,13 +2253,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"
@@ -2286,11 +2335,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 ""
@@ -2309,18 +2362,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"
@@ -2336,7 +2398,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"
@@ -2347,22 +2409,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"
@@ -2406,7 +2470,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"
@@ -2415,7 +2479,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:"
@@ -2430,19 +2494,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
@@ -2452,7 +2516,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"
@@ -2823,13 +2887,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:"
@@ -3011,7 +3077,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"
@@ -3180,7 +3246,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 +3275,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 +3287,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 +3313,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 +3528,10 @@ 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 +3576,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 +3750,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,20 +3793,19 @@ 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
+#, 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"
@@ -4119,6 +4187,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"
@@ -4162,6 +4233,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"
@@ -4226,12 +4300,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
@@ -4241,8 +4314,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 +4324,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"
@@ -4293,6 +4367,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."
@@ -4350,10 +4428,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 ""
@@ -4364,7 +4442,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."
@@ -4404,6 +4482,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"
@@ -4420,8 +4500,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"
@@ -4434,12 +4517,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"
@@ -4458,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"
@@ -4550,14 +4638,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 ""
@@ -4599,7 +4695,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 ""
@@ -4748,14 +4844,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"
@@ -4767,13 +4864,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"
@@ -4811,11 +4911,12 @@ 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
msgid "Join password changed"
-msgstr ""
+msgstr "Password di registrazione modificata"
#: plinth/modules/mumble/views.py:53
msgid "Root channel name changed."
@@ -4829,10 +4930,16 @@ 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
msgid "Name Services"
-msgstr "Name Services"
+msgstr "Servizi nome"
#: plinth/modules/names/__init__.py:69
msgid "Domain (regular)"
@@ -4849,11 +4956,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"
@@ -4886,7 +4993,6 @@ msgstr ""
"superiore a 63 caratteri."
#: plinth/modules/names/forms.py:92
-#, fuzzy
msgid "Invalid hostname"
msgstr "Hostname non valido"
@@ -4909,10 +5015,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
@@ -5041,12 +5145,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"
@@ -5100,22 +5208,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"
@@ -5172,12 +5286,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 ""
@@ -5187,7 +5305,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"
@@ -5321,6 +5439,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
@@ -5330,18 +5451,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 ""
@@ -5353,6 +5482,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
@@ -5365,9 +5502,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 "
@@ -5377,16 +5523,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
@@ -5398,9 +5554,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 "
@@ -5410,6 +5573,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 ""
@@ -5417,6 +5589,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
@@ -5440,6 +5616,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"
@@ -5512,7 +5692,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 +5756,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
@@ -5627,6 +5807,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"
@@ -5730,13 +5912,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"
@@ -5748,27 +5933,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
@@ -5785,32 +5979,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
@@ -5818,19 +6020,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
@@ -5964,59 +6173,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"
@@ -6024,39 +6239,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
@@ -6065,19 +6283,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"
@@ -6226,7 +6446,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"
@@ -6255,7 +6475,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"
@@ -6269,8 +6489,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
@@ -6822,9 +7043,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 +7131,9 @@ msgid ""
msgstr ""
#: plinth/modules/roundcube/manifest.py:23
+#, fuzzy
msgid "Email"
-msgstr ""
+msgstr "Email"
#: plinth/modules/rssbridge/__init__.py:21
msgid ""
@@ -6925,6 +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."
#: plinth/modules/rssbridge/__init__.py:28
#, python-brace-format
@@ -6948,12 +7172,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"
@@ -7048,7 +7275,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
@@ -7057,16 +7284,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"
@@ -7077,6 +7310,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"
@@ -7088,7 +7323,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"
@@ -7096,7 +7331,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"
@@ -7125,16 +7360,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"
@@ -7142,19 +7382,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"
@@ -7166,7 +7409,7 @@ msgstr ""
#: plinth/modules/security/forms.py:13
msgid "Fail2Ban (recommended)"
-msgstr ""
+msgstr "Fail2Ban (raccomandato)"
#: plinth/modules/security/forms.py:14
msgid ""
@@ -7174,6 +7417,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
@@ -7193,13 +7439,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
@@ -7212,14 +7460,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
@@ -7303,7 +7551,7 @@ msgstr "Shaarli"
#: plinth/modules/shaarli/manifest.py:12
msgid "Shaarlier"
-msgstr ""
+msgstr "Shaarlier"
#: plinth/modules/shaarli/manifest.py:34
msgid "Bookmarks"
@@ -7422,21 +7670,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"
@@ -7445,24 +7695,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"
@@ -7471,47 +7728,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 ""
@@ -8576,7 +8836,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?"
@@ -9063,8 +9323,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
@@ -9607,20 +9868,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 +9891,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 +10274,6 @@ msgid "View Logs"
msgstr ""
#: plinth/templates/toolbar.html:46 plinth/templates/toolbar.html:47
-#, fuzzy
-#| msgid "Backups"
msgid "Backup"
msgstr "Backup"
@@ -10060,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 915acbe58..ff343a376 100644
--- a/plinth/locale/ru/LC_MESSAGES/django.po
+++ b/plinth/locale/ru/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
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"
+"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 \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
@@ -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."
+"помощью веб-интерфейса."
#: plinth/modules/help/templates/help_manual.html:18
msgid "Download as PDF"
@@ -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"
@@ -7032,7 +7037,7 @@ msgstr "Внешние сервисы"
#: plinth/modules/privacy/manifest.py:10
msgid "Fallback DNS"
-msgstr "Падение DNS"
+msgstr "Резервный DNS"
#: plinth/modules/privoxy/__init__.py:25
msgid ""
@@ -10581,7 +10586,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 +10798,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"
@@ -10862,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 08086c171..c621ab159 100644
--- a/plinth/locale/sq/LC_MESSAGES/django.po
+++ b/plinth/locale/sq/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
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"
+"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 \n"
@@ -4663,12 +4663,17 @@ msgid "Default language changed"
msgstr "Gjuha parazgjedhje u ndryshua"
#: 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 ë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"
@@ -10839,18 +10844,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 ""
+msgstr "E errët"
#: plinth/templates/theme-menu.html:41
-#, fuzzy
-#| msgid "Automatic"
msgid "Auto"
msgstr "Automatike"
@@ -10901,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 bc403291b..5f494d094 100644
--- a/plinth/locale/tr/LC_MESSAGES/django.po
+++ b/plinth/locale/tr/LC_MESSAGES/django.po
@@ -6,8 +6,8 @@ msgid ""
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"
+"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 \n"
@@ -4631,12 +4631,17 @@ msgid "Default language changed"
msgstr "Varsayılan dil değiştirildi"
#: 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, ç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"
@@ -10763,25 +10768,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"
@@ -10832,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 f073add16..7474ffea9 100644
--- a/plinth/locale/uk/LC_MESSAGES/django.po
+++ b/plinth/locale/uk/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
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"
+"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 \n"
@@ -4635,21 +4635,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"
@@ -10753,27 +10758,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"
@@ -10822,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
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/minetest/__init__.py b/plinth/modules/minetest/__init__.py
index c4924d74a..b287aa802 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
@@ -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
@@ -30,34 +30,35 @@ _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)),
]
-CONFIG_FILE = '/etc/minetest/minetest.conf'
+CONFIG_FILE = '/etc/luanti/default.conf'
AUG_PATH = '/files' + CONFIG_FILE + '/.anon'
class MinetestApp(app_module.App):
- """FreedomBox app for Minetest."""
+ """FreedomBox app for Luanti (formally Minetest)."""
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=_('Minetest'),
- icon_filename='minetest', description=_description,
- manual_page='Minetest', clients=manifest.clients,
- tags=manifest.tags,
- donation_url='https://www.minetest.net/get-involved/#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,
@@ -72,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)
@@ -92,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():
@@ -125,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 3963d7ce2..737a7bc75 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,18 +32,18 @@ clients = [{
}, {
'type': 'package',
'format': 'deb',
- 'name': 'minetest'
+ 'name': 'luanti'
}]
}]
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/')
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'),
]
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/transmission/__init__.py b/plinth/modules/transmission/__init__.py
index eee46cebd..5c31c6ed7 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'
@@ -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', [
@@ -110,7 +111,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(
@@ -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/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.
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'))
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)