From 53f7c75d8ef43ebe4accaf4a825e381ea5ad143f Mon Sep 17 00:00:00 2001
From: Frederico Gomes
Date: Sun, 4 Jan 2026 20:41:29 +0000
Subject: [PATCH 001/127] wireguard: add 'Start Server' button with
confirmation page
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Adds explicit UI flow to generate server keypair and interface.
- New EnableServerView
- Conditional 'Start Server' button on main page when no wg0
- Button switches to 'Add Client' after server setup
Solves circular dependency UX issue when connecting two FBs
EDIT: Following review feedback, I removed the intermediate
confirmation page.
The “Start WireGuard Server” button now sends a POST
directly from the main page.
Signed-off-by: Frederico Gomes
Reviewed-by: James Valleroy
[jvalleroy: Change from TemplateView to View]
[jvalleroy: Remove redundant import]
Signed-off-by: James Valleroy
---
.../wireguard/templates/wireguard.html | 24 ++++++++++++++-----
plinth/modules/wireguard/urls.py | 2 ++
plinth/modules/wireguard/views.py | 18 +++++++++++++-
3 files changed, 37 insertions(+), 7 deletions(-)
diff --git a/plinth/modules/wireguard/templates/wireguard.html b/plinth/modules/wireguard/templates/wireguard.html
index d670179fd..73e56bce6 100644
--- a/plinth/modules/wireguard/templates/wireguard.html
+++ b/plinth/modules/wireguard/templates/wireguard.html
@@ -56,14 +56,26 @@
+
{% trans "As a Client" %}
{% blocktrans trimmed %}
diff --git a/plinth/modules/wireguard/urls.py b/plinth/modules/wireguard/urls.py
index d0dcc6bbe..1c44b551e 100644
--- a/plinth/modules/wireguard/urls.py
+++ b/plinth/modules/wireguard/urls.py
@@ -9,6 +9,8 @@ from plinth.modules.wireguard import views
urlpatterns = [
re_path(r'^apps/wireguard/$', views.WireguardView.as_view(), name='index'),
+ re_path(r'^apps/wireguard/enable-server/$',
+ views.EnableServerView.as_view(), name='enable-server'),
re_path(r'^apps/wireguard/client/add/$', views.AddClientView.as_view(),
name='add-client'),
re_path(r'^apps/wireguard/client/(?P[^/]+)/show/$',
diff --git a/plinth/modules/wireguard/views.py b/plinth/modules/wireguard/views.py
index 9259edf22..48fcc45f8 100644
--- a/plinth/modules/wireguard/views.py
+++ b/plinth/modules/wireguard/views.py
@@ -11,7 +11,7 @@ from django.http import Http404
from django.shortcuts import redirect
from django.urls import reverse_lazy
from django.utils.translation import gettext as _
-from django.views.generic import FormView, TemplateView
+from django.views.generic import FormView, TemplateView, View
from plinth import network
from plinth.modules.names.components import DomainName
@@ -252,3 +252,19 @@ class DeleteServerView(SuccessMessageMixin, TemplateView):
network.delete_connection(connection.get_uuid())
messages.success(request, _('Server deleted.'))
return redirect('wireguard:index')
+
+
+class EnableServerView(SuccessMessageMixin, View):
+ """View to enable the WireGuard server."""
+
+ def post(self, request):
+ """Create server interface."""
+ try:
+ utils.setup_server()
+ messages.success(request,
+ _('WireGuard server started successfully.'))
+ except Exception as error:
+ messages.error(
+ request,
+ _('Failed to start WireGuard server: {}').format(error))
+ return redirect('wireguard:index')
From 0614b5e509be259d796765ef12486ab074fe4a4d Mon Sep 17 00:00:00 2001
From: James Valleroy
Date: Wed, 21 Jan 2026 20:47:21 -0500
Subject: [PATCH 002/127] wireguard: Update functional tests to handle Start
Server button
Signed-off-by: James Valleroy
---
plinth/modules/wireguard/templates/wireguard.html | 2 +-
plinth/modules/wireguard/tests/test_functional.py | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/plinth/modules/wireguard/templates/wireguard.html b/plinth/modules/wireguard/templates/wireguard.html
index 73e56bce6..af7551b26 100644
--- a/plinth/modules/wireguard/templates/wireguard.html
+++ b/plinth/modules/wireguard/templates/wireguard.html
@@ -59,7 +59,7 @@
{% if not server.public_key %}
diff --git a/plinth/modules/wireguard/views.py b/plinth/modules/wireguard/views.py
index 48fcc45f8..5de984006 100644
--- a/plinth/modules/wireguard/views.py
+++ b/plinth/modules/wireguard/views.py
@@ -46,6 +46,16 @@ class AddClientView(SuccessMessageMixin, FormView):
"""Return additional context for rendering the template."""
context = super().get_context_data(**kwargs)
context['title'] = _('Add Allowed Client')
+
+ # Show next available IP.
+ try:
+ connection = utils._server_connection()
+ setting_name = utils.nm.SETTING_WIREGUARD_SETTING_NAME
+ settings = connection.get_setting_by_name(setting_name)
+ context['next_ip'] = utils._get_next_available_ip_address(settings)
+ except Exception:
+ context['next_ip'] = None
+
return context
def form_valid(self, form):
From f4b1eb23acc1a27107811550dfc4a393a1e4b4f0 Mon Sep 17 00:00:00 2001
From: Sunil Mohan Adapa
Date: Thu, 29 Jan 2026 16:08:55 -0800
Subject: [PATCH 013/127] wireguard: Remove NM connections when app is
uninstalled
Tests:
- Install WireGuard and start the server. Uninstall the app and re-install.
Without the patch, the connection remain after uninstall. With the patch, the
connections are removed after uninstall and return to pristine state after
re-install.
- Functional tests succeed.
Signed-off-by: Sunil Mohan Adapa
Reviewed-by: James Valleroy
---
plinth/modules/wireguard/__init__.py | 5 +++++
plinth/modules/wireguard/utils.py | 11 +++++++++++
2 files changed, 16 insertions(+)
diff --git a/plinth/modules/wireguard/__init__.py b/plinth/modules/wireguard/__init__.py
index 5b17cfbd2..554465379 100644
--- a/plinth/modules/wireguard/__init__.py
+++ b/plinth/modules/wireguard/__init__.py
@@ -96,3 +96,8 @@ class WireguardApp(app_module.App):
super().setup(old_version)
if not old_version:
self.enable()
+
+ def uninstall(self):
+ """De-configure and uninstall the app."""
+ utils.delete_connections()
+ super().uninstall()
diff --git a/plinth/modules/wireguard/utils.py b/plinth/modules/wireguard/utils.py
index 2d7b56c79..ecb97581f 100644
--- a/plinth/modules/wireguard/utils.py
+++ b/plinth/modules/wireguard/utils.py
@@ -127,6 +127,17 @@ def enable_connections(enable):
pass # Connection is already inactive
+def delete_connections():
+ """Remove all WireGuard connections."""
+ setting_name = nm.SETTING_WIREGUARD_SETTING_NAME
+ client = network.get_nm_client()
+ for connection in client.get_connections():
+ if connection.get_connection_type() != setting_name:
+ continue
+
+ connection.delete()
+
+
def _get_public_key_from_private_key(private_key):
process = subprocess.run(['wg', 'pubkey'], check=True, capture_output=True,
input=private_key.encode())
From 57f5105fd0cec420ec56cedc0d87c91b16740251 Mon Sep 17 00:00:00 2001
From: Frederico Gomes
Date: Sun, 25 Jan 2026 21:10:10 +0000
Subject: [PATCH 014/127] wireguard: show server endpoint on main app page
Display the WireGuard server endpoint (ip_address:listen_port)
alongside the public key on the main WireGuard page,
so users configuring clients can copy both values directly.
Signed-off-by: Frederico Gomes
[sunil: Keep the docstring]
[sunil: Adjust markup to eliminate inside
]
[sunil: Produce a single
tag instead of multiple for multiple domains]
[sunil: Minor refactoring for more concise code]
Signed-off-by: Sunil Mohan Adapa
Reviewed-by: Sunil Mohan Adapa
---
.../wireguard/templates/wireguard.html | 22 ++++++++++++++-----
plinth/modules/wireguard/views.py | 13 ++++++++++-
2 files changed, 29 insertions(+), 6 deletions(-)
diff --git a/plinth/modules/wireguard/templates/wireguard.html b/plinth/modules/wireguard/templates/wireguard.html
index af7551b26..f4cee1728 100644
--- a/plinth/modules/wireguard/templates/wireguard.html
+++ b/plinth/modules/wireguard/templates/wireguard.html
@@ -48,12 +48,24 @@
{% blocktrans trimmed %}
Public key for this {{ box_name }}:
{% endblocktrans %}
- {% if server.public_key %}
- {{ server.public_key }}
- {% else %}
- {% trans "Not configured yet." %}
- {% endif %}
+ {% if server.public_key %}
+ {{ server.public_key }}
+ {% else %}
+ {% trans "Not configured yet." %}
+ {% endif %}
+
+
+ {% blocktrans trimmed %}
+ Endpoints for this {{ box_name }}:
+ {% endblocktrans %}
+
+ {% if server_endpoints %}
+ {% for endpoint in server_endpoints %}{{ endpoint }}
+{% endfor %}
+ {% else %}
+ {% trans "Not configured yet." %}
+ {% endif %}
{% if not server.public_key %}
diff --git a/plinth/modules/wireguard/views.py b/plinth/modules/wireguard/views.py
index 5de984006..4b20458dd 100644
--- a/plinth/modules/wireguard/views.py
+++ b/plinth/modules/wireguard/views.py
@@ -30,8 +30,19 @@ class WireguardView(AppView):
"""Return additional context for rendering the template."""
context = super().get_context_data(**kwargs)
info = utils.get_info()
- context['server'] = info['my_server']
+ server_info = info['my_server']
+ context['server'] = server_info
context['client_peers'] = info['my_client']['servers']
+ context['server_endpoints'] = []
+
+ if server_info:
+ domains = DomainName.list_names(filter_for_service='wireguard')
+ listen_port = server_info.get('listen_port')
+ context['server_endpoints'] = [
+ f'{domain}:{listen_port}' for domain in domains
+ if not domain.endswith('.local')
+ ]
+
return context
From 3c5f81ab8c82582f420301c88d9d6e141099fbfb Mon Sep 17 00:00:00 2001
From: Joseph Nuthalapati
Date: Sun, 4 Jan 2026 19:36:19 +0530
Subject: [PATCH 015/127] ui: Add HTMX as a dependency
Signed-off-by: Joseph Nuthalapati
[sunil: Sort dependency in list]
[sunil: Adjust spacing]
Signed-off-by: Sunil Mohan Adapa
Reviewed-by: Sunil Mohan Adapa
---
debian/control | 2 ++
plinth/templates/base.html | 1 +
2 files changed, 3 insertions(+)
diff --git a/debian/control b/debian/control
index 67f7eba40..5a45dd0b9 100644
--- a/debian/control
+++ b/debian/control
@@ -17,6 +17,7 @@ Build-Depends:
e2fsprogs,
gir1.2-nm-1.0,
libjs-bootstrap5,
+ libjs-htmx,
# Older libjs-bootstrap5 does not have proper dependency on popper.js >= 2.0
node-popper2,
pybuild-plugin-pyproject,
@@ -87,6 +88,7 @@ Depends:
# For gdbus used to call hooks into service
libglib2.0-bin,
libjs-bootstrap5,
+ libjs-htmx,
lsof,
netcat-openbsd,
network-manager,
diff --git a/plinth/templates/base.html b/plinth/templates/base.html
index b727f68fb..4ce902c2c 100644
--- a/plinth/templates/base.html
+++ b/plinth/templates/base.html
@@ -64,6 +64,7 @@
+
{% block app_js %}{% endblock %}
From 01cafafcdabf1a331c4780ecf034d841d0019659 Mon Sep 17 00:00:00 2001
From: Joseph Nuthalapati
Date: Sun, 4 Jan 2026 20:21:13 +0530
Subject: [PATCH 016/127] ui: Use HTMX to eliminate full page reloads
HTMX implementation is limited to HTML and JS files. No changes to Python files.
Signed-off-by: Joseph Nuthalapati
---
plinth/templates/base.html | 6 +++++-
plinth/views.py | 16 ++++++----------
static/themes/default/js/main.js | 31 +++++++++++++------------------
3 files changed, 24 insertions(+), 29 deletions(-)
diff --git a/plinth/templates/base.html b/plinth/templates/base.html
index 4ce902c2c..7e07b2a41 100644
--- a/plinth/templates/base.html
+++ b/plinth/templates/base.html
@@ -252,7 +252,11 @@
{% block container %}
-
+
{% block content_row %}
{% include 'messages.html' %}
diff --git a/plinth/views.py b/plinth/views.py
index c90e23429..ece40a2e7 100644
--- a/plinth/views.py
+++ b/plinth/views.py
@@ -497,9 +497,8 @@ class AppOperationsView(TemplateView):
context['app_id'] = self.app.app_id
context['app_info'] = self.app.info
context['operations'] = operation.manager.filter(self.app.app_id)
- context['refresh_page_sec'] = 0
- if context['operations']:
- context['refresh_page_sec'] = 3
+ # Refresh periodically while operations are running
+ context['refresh_page_sec'] = 3 if context['operations'] else 0
return context
@@ -532,10 +531,10 @@ class SetupView(TemplateView):
!= app_module.App.SetupState.NEEDS_SETUP)
context['refresh_page_sec'] = None
- if context['setup_state'] == app_module.App.SetupState.UP_TO_DATE:
- context['refresh_page_sec'] = 0
- elif context['operations']:
+ if context['operations']:
context['refresh_page_sec'] = 3
+ elif context['setup_state'] == app_module.App.SetupState.UP_TO_DATE:
+ context['refresh_page_sec'] = 0
return context
@@ -550,10 +549,7 @@ class SetupView(TemplateView):
# Give a moment for the setup process to start and show
# meaningful status.
time.sleep(1)
- response = self.render_to_response(self.get_context_data())
- # Post/Response/Get pattern for reloads
- response.status_code = 303
- return response
+ return redirect(request.path)
return super().dispatch(request, *args, **kwargs)
diff --git a/static/themes/default/js/main.js b/static/themes/default/js/main.js
index d32108ca5..b0a8018eb 100644
--- a/static/themes/default/js/main.js
+++ b/static/themes/default/js/main.js
@@ -33,24 +33,6 @@ document.addEventListener('DOMContentLoaded', function (event) {
html.classList.add('js');
});
-/*
- * Refresh page if marked for refresh.
- */
-document.addEventListener('DOMContentLoaded', function () {
- const body = document.querySelector('body');
- if (body.hasAttribute('data-refresh-page-sec')) {
- let seconds = body.getAttribute('data-refresh-page-sec');
- seconds = parseInt(seconds, 10);
- if (isNaN(seconds))
- return;
-
- window.setTimeout(() => {
- // Refresh the page without resubmitting the POST data.
- window.location = window.location.href;
- }, seconds * 1000);
- }
-});
-
/*
* Return all submit buttons on the page
*/
@@ -303,3 +285,16 @@ document.addEventListener('click', function (event) {
bsCollapse.hide();
}
});
+
+/*
+ * Detect when hx-select element is not found in the response and reload the
+ * page. HTMX unfortunately does not seem to provide a JS event when hx-select
+ * element is not found in the response. However, in htmx:afterSwap event we can
+ * see that the target has no children and choose to refresh the whole page.
+ */
+document.addEventListener('htmx:afterSwap', function (event) {
+ const target = event.detail.target;
+ if (target && target.children.length === 0) {
+ window.location.reload();
+ }
+});
From 04ba96a467ae6251fd027794e7456084a1d5af99 Mon Sep 17 00:00:00 2001
From: Sunil Mohan Adapa
Date: Mon, 2 Feb 2026 14:38:11 -0800
Subject: [PATCH 017/127] ui: Use HTMX to update notifications on partial page
updates
Tests:
- When app install button is clicked, the new page shows that app is being
installed. However, when app installation is complete, the notification still
shows that app is being installed. With the patch, the issues is resolved.
Signed-off-by: Sunil Mohan Adapa
---
plinth/templates/notifications.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plinth/templates/notifications.html b/plinth/templates/notifications.html
index 25d52c2f2..73ac7212b 100644
--- a/plinth/templates/notifications.html
+++ b/plinth/templates/notifications.html
@@ -8,7 +8,7 @@
{% load static %}
{% if notifications %}
-
+
{% for note in notifications %}
-
From f5e487569f7e4844700892dfeaaaf5c501eaa462 Mon Sep 17 00:00:00 2001
From: Burak Yavuz
Date: Mon, 2 Feb 2026 19:27:10 +0100
Subject: [PATCH 018/127] Translated using Weblate (Turkish)
Currently translated at 100.0% (1880 of 1880 strings)
---
plinth/locale/tr/LC_MESSAGES/django.po | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/plinth/locale/tr/LC_MESSAGES/django.po b/plinth/locale/tr/LC_MESSAGES/django.po
index 0299bd500..43d6efc96 100644
--- a/plinth/locale/tr/LC_MESSAGES/django.po
+++ b/plinth/locale/tr/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-16 01:18+0000\n"
-"PO-Revision-Date: 2025-12-17 07:00+0000\n"
+"PO-Revision-Date: 2026-02-03 01:07+0000\n"
"Last-Translator: Burak Yavuz \n"
"Language-Team: Turkish \n"
@@ -16,7 +16,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.1-dev\n"
+"X-Generator: Weblate 5.16-dev\n"
#: plinth/config.py:103
#, python-brace-format
@@ -394,7 +394,7 @@ msgstr "Anahtar Depoda"
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:68
#: plinth/modules/searx/forms.py:14
msgid "None"
-msgstr "Yok"
+msgstr "Hiçbiri"
#: plinth/modules/backups/forms.py:186 plinth/modules/networks/forms.py:340
msgid "Passphrase"
@@ -7691,7 +7691,7 @@ msgstr "Korumalı Alan Kapsamı"
#: plinth/modules/security/templates/security_report.html:58
msgid "N/A"
-msgstr "YOK"
+msgstr "Yok"
#: plinth/modules/security/templates/security_report.html:60
msgid "Yes"
From 48929b9d75bc5deedd164642390d31f8c645e48a Mon Sep 17 00:00:00 2001
From: Pierfrancesco Passerini
Date: Mon, 2 Feb 2026 22:17:42 +0100
Subject: [PATCH 019/127] Translated using Weblate (Italian)
Currently translated at 100.0% (1880 of 1880 strings)
---
plinth/locale/it/LC_MESSAGES/django.po | 52 +++++++++++++-------------
1 file changed, 27 insertions(+), 25 deletions(-)
diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po
index 63fc9dc60..b7b67df39 100644
--- a/plinth/locale/it/LC_MESSAGES/django.po
+++ b/plinth/locale/it/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-16 01:18+0000\n"
-"PO-Revision-Date: 2026-01-16 21:32+0000\n"
+"PO-Revision-Date: 2026-02-03 01:07+0000\n"
"Last-Translator: Pierfrancesco Passerini \n"
"Language-Team: Italian \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.15.2\n"
+"X-Generator: Weblate 5.16-dev\n"
#: plinth/config.py:103
#, python-brace-format
@@ -76,7 +76,7 @@ msgstr "(Nessun)"
#: plinth/forms.py:68
msgid "Select a domain name to be used with this application"
-msgstr "Selezione un nome di dominio da usare con questa applicazione"
+msgstr "Seleziona un nome di dominio da usare con quest'applicazione"
#: plinth/forms.py:81 plinth/modules/coturn/forms.py:31
#: plinth/modules/mumble/forms.py:21
@@ -89,7 +89,7 @@ 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, configura "
+"Seleziona un dominio per utilizzare TLS. Se l'elenco è vuoto, configura "
"almeno un dominio con i certificati."
#: plinth/forms.py:93
@@ -231,7 +231,7 @@ msgstr ""
#: plinth/modules/backups/__init__.py:179
msgid "Enable a Backup Schedule"
-msgstr "Abilita una schedulazione del Backup"
+msgstr "Abilita una pianificazione del backup"
#: plinth/modules/backups/__init__.py:183
#: plinth/modules/backups/__init__.py:230 plinth/modules/privacy/__init__.py:84
@@ -280,9 +280,9 @@ 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."
+"Questi ultimi backup saranno conservati e gli altri rimossi. Il valore \"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"
@@ -293,9 +293,9 @@ 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."
+"Questi ultimi backup saranno conservati e gli altri rimossi. Il valore \"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"
@@ -307,9 +307,9 @@ 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."
+"Questi ultimi backup saranno conservati e gli altri rimossi. Il valore \"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"
@@ -1551,7 +1551,7 @@ msgid ""
"Network time server is a program that maintains the system time in "
"synchronization with servers on the Internet."
msgstr ""
-"Network time server è un programma che mantiene l'ora del sistema in "
+"Network time server è un programma che mantiene l'ora del sistema "
"sincronizzata con un server NTP in Internet."
#: plinth/modules/datetime/__init__.py:68
@@ -5348,8 +5348,8 @@ msgid ""
"Optional value. If left blank, a default netmask based on the address will "
"be used."
msgstr ""
-"Valore opzionale. Le lasciato vuoto, sarà usato un valore predefinito basato "
-"sull'indirizzo IP."
+"Valore opzionale. Se lasciato vuoto, verrà utilizzata una netmask basata "
+"sull'indirizzo."
#: plinth/modules/networks/forms.py:113 plinth/modules/networks/forms.py:152
#: plinth/modules/networks/templates/connection_show.html:197
@@ -5499,9 +5499,9 @@ msgid ""
"Optional value. Wireless channel in the selected frequency band to restrict "
"to. Blank or 0 value means automatic selection."
msgstr ""
-"Valore opzionale. Canale Wireless da restringere nella frequenza di banda "
-"selezionata. Il valore 0, o l'assenza di valore, significa che sarà "
-"impostata la selezione automatica."
+"Valore opzionale. Canale Wireless da utilizzare nella frequenza di banda "
+"selezionata. Il valore 0, o l'assenza di valore, imposterà la selezione "
+"automatica."
#: plinth/modules/networks/forms.py:329
msgid "BSSID"
@@ -5514,8 +5514,8 @@ msgid ""
"one provided. Example: 00:11:22:aa:bb:cc."
msgstr ""
"Valore opzionale. Identifivativo univoco per l'access point. Durante la "
-"connessione ad un access point, connettersi solo se il BSSID dell'access "
-"point combacia con quello fornito. Per esempio: 00:11:22:aa:bb:cc."
+"connessione verificare che il BSSID dell'access point combaci con quello "
+"fornito. Per esempio: 00:11:22:aa:bb:cc."
#: plinth/modules/networks/forms.py:336
msgid "Authentication Mode"
@@ -6743,7 +6743,7 @@ msgstr "Porta server"
#: plinth/modules/pagekite/forms.py:36
msgid "Port of your pagekite server (default: 80)"
-msgstr "Porta del tuo server pagekite (predefinita: 80)"
+msgstr "Porta del server pagekite (predefinita: 80)"
#: plinth/modules/pagekite/forms.py:38
msgid "Kite name"
@@ -6858,7 +6858,7 @@ msgstr "Server Web (HTTPS)"
#: plinth/modules/pagekite/utils.py:61
#, python-brace-format
msgid "Site will be available at https://{0}"
-msgstr "Il sito sarà disponibile a https://{0}"
+msgstr "Il sito sarà disponibile su https://{0}"
#: plinth/modules/pagekite/utils.py:73
msgid "Secure Shell (SSH)"
@@ -8997,7 +8997,9 @@ msgstr ""
#: plinth/modules/transmission/__init__.py:25
msgid "Transmission is a BitTorrent client with a web interface."
-msgstr "Transmission è un client BitTorrent che può essere gestito da Web UI."
+msgstr ""
+"Transmission è un client BitTorrent che può essere gestito da interfaccia "
+"web."
#: plinth/modules/transmission/__init__.py:26
msgid ""
From d0a73142ac06dcae41c0ca523bec8b1cb29b4e73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A4=A7=E7=8E=8B=E5=8F=AB=E6=88=91=E6=9D=A5=E5=B7=A1?=
=?UTF-8?q?=E5=B1=B1?=
Date: Mon, 2 Feb 2026 10:28:16 +0100
Subject: [PATCH 020/127] Translated using Weblate (Chinese (Simplified Han
script))
Currently translated at 61.4% (1155 of 1880 strings)
---
plinth/locale/zh_Hans/LC_MESSAGES/django.po | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/plinth/locale/zh_Hans/LC_MESSAGES/django.po b/plinth/locale/zh_Hans/LC_MESSAGES/django.po
index 0c253f9bf..0a9d856e0 100644
--- a/plinth/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/plinth/locale/zh_Hans/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Plinth\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-16 01:18+0000\n"
-"PO-Revision-Date: 2025-12-21 10:00+0000\n"
+"PO-Revision-Date: 2026-02-03 01:07+0000\n"
"Last-Translator: 大王叫我来巡山 "
"\n"
"Language-Team: Chinese (Simplified Han script)
Date: Mon, 2 Feb 2026 20:14:26 -0500
Subject: [PATCH 021/127] locale: Update translation strings
Signed-off-by: James Valleroy
---
plinth/locale/ar/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/ar_SA/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/be/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/bg/LC_MESSAGES/django.po | 126 ++++++-----
plinth/locale/bn/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/ca/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/cs/LC_MESSAGES/django.po | 120 +++++++----
plinth/locale/da/LC_MESSAGES/django.po | 122 ++++++-----
plinth/locale/de/LC_MESSAGES/django.po | 125 ++++++-----
plinth/locale/django.pot | 115 ++++++----
plinth/locale/el/LC_MESSAGES/django.po | 117 +++++++----
plinth/locale/es/LC_MESSAGES/django.po | 120 +++++++----
plinth/locale/et/LC_MESSAGES/django.po | 123 ++++++-----
plinth/locale/fa/LC_MESSAGES/django.po | 117 +++++++----
plinth/locale/fake/LC_MESSAGES/django.po | 122 ++++++-----
plinth/locale/fr/LC_MESSAGES/django.po | 129 +++++++-----
plinth/locale/gl/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/gu/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/hi/LC_MESSAGES/django.po | 117 +++++++----
plinth/locale/hu/LC_MESSAGES/django.po | 120 +++++++----
plinth/locale/id/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/it/LC_MESSAGES/django.po | 219 ++++++++++++--------
plinth/locale/ja/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/kn/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/lt/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/lv/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/nb/LC_MESSAGES/django.po | 120 +++++++----
plinth/locale/nl/LC_MESSAGES/django.po | 125 ++++++-----
plinth/locale/pl/LC_MESSAGES/django.po | 117 +++++++----
plinth/locale/pt/LC_MESSAGES/django.po | 120 +++++++----
plinth/locale/ru/LC_MESSAGES/django.po | 129 +++++++-----
plinth/locale/si/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/sl/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/sq/LC_MESSAGES/django.po | 124 ++++++-----
plinth/locale/sr/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/sv/LC_MESSAGES/django.po | 125 ++++++-----
plinth/locale/ta/LC_MESSAGES/django.po | 120 +++++++----
plinth/locale/te/LC_MESSAGES/django.po | 125 ++++++-----
plinth/locale/tr/LC_MESSAGES/django.po | 129 +++++++-----
plinth/locale/uk/LC_MESSAGES/django.po | 120 +++++++----
plinth/locale/vi/LC_MESSAGES/django.po | 115 ++++++----
plinth/locale/zh_Hans/LC_MESSAGES/django.po | 122 ++++++-----
plinth/locale/zh_Hant/LC_MESSAGES/django.po | 115 ++++++----
43 files changed, 3155 insertions(+), 2068 deletions(-)
diff --git a/plinth/locale/ar/LC_MESSAGES/django.po b/plinth/locale/ar/LC_MESSAGES/django.po
index 2d19410a1..0a733e7d6 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-16 01:18+0000\n"
+"POT-Creation-Date: 2026-02-03 01:14+0000\n"
"PO-Revision-Date: 2025-04-16 02:28+0000\n"
"Last-Translator: MohammedSaalif <2300031323@kluniversity.in>\n"
"Language-Team: Arabic \n"
"Language-Team: Arabic (Saudi Arabia) "
-"\n"
+"Last-Translator: 109247019824 "
+"<109247019824@users.noreply.hosted.weblate.org>\n"
"Language-Team: Bulgarian \n"
"Language: bg\n"
@@ -106,15 +106,15 @@ msgstr "Език на интерфейса"
msgid "Use the language preference set in the browser"
msgstr "Използване на предпочитания от четеца език"
-#: plinth/menu.py:116 plinth/templates/base.html:123
+#: plinth/menu.py:116 plinth/templates/base.html:124
msgid "Home"
msgstr "Начало"
-#: plinth/menu.py:117 plinth/templates/base.html:132
+#: plinth/menu.py:117 plinth/templates/base.html:133
msgid "Apps"
msgstr "Приложения"
-#: plinth/menu.py:119 plinth/menu.py:126 plinth/templates/base.html:141
+#: plinth/menu.py:119 plinth/menu.py:126 plinth/templates/base.html:142
msgid "System"
msgstr "Системни"
@@ -3149,8 +3149,8 @@ msgstr "Обратна връзка"
msgid "Contribute"
msgstr "Допринасяне"
-#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:221
-#: plinth/templates/base.html:224 plinth/templates/help-menu.html:46
+#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
+#: plinth/templates/base.html:225 plinth/templates/help-menu.html:46
#: plinth/templates/help-menu.html:47 plinth/templates/index.html:96
msgid "About"
msgstr "За проекта"
@@ -3698,7 +3698,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:204
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
-#: plinth/templates/base.html:277
+#: plinth/templates/base.html:282
msgid "JavaScript license information"
msgstr ""
@@ -4796,7 +4796,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:40
#: plinth/modules/wireguard/templates/wireguard_show_client.html:72
#: plinth/modules/wireguard/templates/wireguard_show_server.html:73
-#: plinth/templates/base.html:171 plinth/templates/base.html:172
+#: plinth/templates/base.html:172 plinth/templates/base.html:173
msgid "Edit"
msgstr "Редактиране"
@@ -6395,8 +6395,8 @@ msgstr "Рестартиране"
msgid "Shutdown"
msgstr "Изключване"
-#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:186
-#: plinth/templates/base.html:187
+#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
+#: plinth/templates/base.html:188
msgid "Restart"
msgstr "Рестартиране"
@@ -6746,8 +6746,8 @@ msgid ""
"href=\"{nextcloud_url}\">Nextcloud News to follow various websites. When "
"adding a feed, enable authentication and use your {box_name} credentials."
msgstr ""
-"Можете да използвате RSS-Bridge заедно с "
-"Miniflux или Nextcloud News, за да "
+"Можете да използвате RSS-Bridge заедно с Miniflux или Nextcloud News, за да "
"следвате различни страници. При добавяне на емисия, включете "
"удостоверяването и използвайте данните за вход на {box_name}."
@@ -9171,7 +9171,7 @@ msgstr ""
#: plinth/modules/wireguard/forms.py:61
#: plinth/modules/wireguard/templates/wireguard.html:17
-#: plinth/modules/wireguard/templates/wireguard.html:77
+#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:24
msgid "Public Key"
msgstr ""
@@ -9261,7 +9261,7 @@ msgid "Allowed IPs"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:19
-#: plinth/modules/wireguard/templates/wireguard.html:78
+#: plinth/modules/wireguard/templates/wireguard.html:102
msgid "Last Connected Time"
msgstr ""
@@ -9275,47 +9275,63 @@ msgstr ""
msgid "Public key for this %(box_name)s:"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:54
+#: plinth/modules/wireguard/templates/wireguard.html:55
+#: plinth/modules/wireguard/templates/wireguard.html:67
msgid "Not configured yet."
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:59
+#, fuzzy, python-format
+#| msgid "Page not found - %(box_name)s"
+msgid "Endpoints for this %(box_name)s:"
+msgstr "Страницата не е намерена - %(box_name)s"
+
+#: plinth/modules/wireguard/templates/wireguard.html:75
+#: plinth/modules/wireguard/templates/wireguard.html:77
+msgid "Start WireGuard Server"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard.html:81
msgid "Add a new peer"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:63
-#: plinth/modules/wireguard/views.py:48
+#: plinth/modules/wireguard/templates/wireguard.html:85
+#: plinth/modules/wireguard/views.py:59
msgid "Add Allowed Client"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:67
+#: plinth/modules/wireguard/templates/wireguard.html:91
msgid "As a Client"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:69
+#: plinth/modules/wireguard/templates/wireguard.html:93
#, python-format
msgid "Servers that %(box_name)s will connect to:"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:76
+#: plinth/modules/wireguard/templates/wireguard.html:100
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:20
msgid "Endpoint"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:100
+#: plinth/modules/wireguard/templates/wireguard.html:124
msgid "No connections to remote servers are configured yet."
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:110
+#: plinth/modules/wireguard/templates/wireguard.html:134
msgid "Add a new server"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:114
-#: plinth/modules/wireguard/views.py:157
+#: plinth/modules/wireguard/templates/wireguard.html:138
+#: plinth/modules/wireguard/views.py:178
msgid "Add Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard_add_client.html:19
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:21
+msgid "IP address that will be assigned to this client"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:31
msgid "Add Client"
msgstr ""
@@ -9399,62 +9415,72 @@ msgstr ""
msgid "IP address of this machine:"
msgstr ""
-#: plinth/modules/wireguard/views.py:43
+#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
msgstr ""
-#: plinth/modules/wireguard/views.py:58 plinth/modules/wireguard/views.py:117
+#: plinth/modules/wireguard/views.py:79 plinth/modules/wireguard/views.py:138
msgid "Client with public key already exists"
msgstr ""
-#: plinth/modules/wireguard/views.py:71
+#: plinth/modules/wireguard/views.py:92
msgid "Allowed Client"
msgstr ""
-#: plinth/modules/wireguard/views.py:93
+#: plinth/modules/wireguard/views.py:114
msgid "Updated client."
msgstr "Настройките на клиентското приложение са променени."
-#: plinth/modules/wireguard/views.py:98
+#: plinth/modules/wireguard/views.py:119
msgid "Modify Client"
msgstr ""
-#: plinth/modules/wireguard/views.py:131
+#: plinth/modules/wireguard/views.py:152
msgid "Delete Allowed Client"
msgstr ""
-#: plinth/modules/wireguard/views.py:140
+#: plinth/modules/wireguard/views.py:161
msgid "Client deleted."
msgstr ""
-#: plinth/modules/wireguard/views.py:142
+#: plinth/modules/wireguard/views.py:163
msgid "Client not found"
msgstr ""
-#: plinth/modules/wireguard/views.py:152
+#: plinth/modules/wireguard/views.py:173
msgid "Added new server."
msgstr ""
-#: plinth/modules/wireguard/views.py:173
+#: plinth/modules/wireguard/views.py:194
msgid "Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/views.py:191
+#: plinth/modules/wireguard/views.py:212
msgid "Updated server."
msgstr "Настройките на сървъра са променени."
-#: plinth/modules/wireguard/views.py:196
+#: plinth/modules/wireguard/views.py:217
msgid "Modify Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/views.py:233
+#: plinth/modules/wireguard/views.py:254
msgid "Delete Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/views.py:253
+#: plinth/modules/wireguard/views.py:274
msgid "Server deleted."
msgstr ""
+#: plinth/modules/wireguard/views.py:286
+#, fuzzy
+#| msgid "Password changed successfully."
+msgid "WireGuard server started successfully."
+msgstr "Паролата е променена."
+
+#: plinth/modules/wireguard/views.py:290
+msgid "Failed to start WireGuard server: {}"
+msgstr ""
+
#: plinth/modules/wordpress/__init__.py:20
msgid ""
"WordPress is a popular way to create and manage websites and blogs. Content "
@@ -9768,35 +9794,35 @@ msgstr ""
"данни. Това е безплатен софтуер, който ви позволява да инсталирате и "
"управлявате сървърни приложения с лекота."
-#: plinth/templates/base.html:120
+#: plinth/templates/base.html:121
msgid " Home"
msgstr " Начало"
-#: plinth/templates/base.html:128
+#: plinth/templates/base.html:129
msgid " Apps"
msgstr " Приложения"
-#: plinth/templates/base.html:137
+#: plinth/templates/base.html:138
msgid " System"
msgstr " Системни"
-#: plinth/templates/base.html:178 plinth/templates/base.html:179
+#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Change password"
msgstr "Промяна на парола"
-#: plinth/templates/base.html:192 plinth/templates/base.html:193
+#: plinth/templates/base.html:193 plinth/templates/base.html:194
msgid "Shut down"
msgstr "Изключване"
-#: plinth/templates/base.html:203 plinth/templates/base.html:241
+#: plinth/templates/base.html:204 plinth/templates/base.html:242
msgid "Log out"
msgstr "Изход"
-#: plinth/templates/base.html:212 plinth/templates/base.html:215
+#: plinth/templates/base.html:213 plinth/templates/base.html:216
msgid "Select language"
msgstr "Избор на език"
-#: plinth/templates/base.html:230 plinth/templates/base.html:232
+#: plinth/templates/base.html:231 plinth/templates/base.html:233
msgid "Log in"
msgstr "Вход"
@@ -10047,7 +10073,7 @@ msgstr "Тук"
msgid "Setting unchanged"
msgstr "Настройките не са променени"
-#: plinth/views.py:658
+#: plinth/views.py:654
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "преди премахване на {app_id}"
diff --git a/plinth/locale/bn/LC_MESSAGES/django.po b/plinth/locale/bn/LC_MESSAGES/django.po
index 27f946cf7..d86d03c19 100644
--- a/plinth/locale/bn/LC_MESSAGES/django.po
+++ b/plinth/locale/bn/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-16 01:18+0000\n"
+"POT-Creation-Date: 2026-02-03 01:14+0000\n"
"PO-Revision-Date: 2025-04-01 03:02+0000\n"
"Last-Translator: MURALA SAI GANESH \n"
"Language-Team: Bengali \n"
"Language-Team: Catalan \n"
"Language-Team: Czech \n"
"Language-Team: Danish \n"
"Language-Team: German /syncthing. Desktop and mobile "
diff --git a/plinth/locale/django.pot b/plinth/locale/django.pot
index 26e98113d..4d9e480f1 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-16 01:18+0000\n"
+"POT-Creation-Date: 2026-02-03 01:14+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -100,15 +100,15 @@ msgstr ""
msgid "Use the language preference set in the browser"
msgstr ""
-#: plinth/menu.py:116 plinth/templates/base.html:123
+#: plinth/menu.py:116 plinth/templates/base.html:124
msgid "Home"
msgstr ""
-#: plinth/menu.py:117 plinth/templates/base.html:132
+#: plinth/menu.py:117 plinth/templates/base.html:133
msgid "Apps"
msgstr ""
-#: plinth/menu.py:119 plinth/menu.py:126 plinth/templates/base.html:141
+#: plinth/menu.py:119 plinth/menu.py:126 plinth/templates/base.html:142
msgid "System"
msgstr ""
@@ -2994,8 +2994,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:221
-#: plinth/templates/base.html:224 plinth/templates/help-menu.html:46
+#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
+#: plinth/templates/base.html:225 plinth/templates/help-menu.html:46
#: plinth/templates/help-menu.html:47 plinth/templates/index.html:96
msgid "About"
msgstr ""
@@ -3537,7 +3537,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:204
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
-#: plinth/templates/base.html:277
+#: plinth/templates/base.html:282
msgid "JavaScript license information"
msgstr ""
@@ -4574,7 +4574,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:40
#: plinth/modules/wireguard/templates/wireguard_show_client.html:72
#: plinth/modules/wireguard/templates/wireguard_show_server.html:73
-#: plinth/templates/base.html:171 plinth/templates/base.html:172
+#: plinth/templates/base.html:172 plinth/templates/base.html:173
msgid "Edit"
msgstr ""
@@ -6092,8 +6092,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:186
-#: plinth/templates/base.html:187
+#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
+#: plinth/templates/base.html:188
msgid "Restart"
msgstr ""
@@ -8619,7 +8619,7 @@ msgstr ""
#: plinth/modules/wireguard/forms.py:61
#: plinth/modules/wireguard/templates/wireguard.html:17
-#: plinth/modules/wireguard/templates/wireguard.html:77
+#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:24
msgid "Public Key"
msgstr ""
@@ -8709,7 +8709,7 @@ msgid "Allowed IPs"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:19
-#: plinth/modules/wireguard/templates/wireguard.html:78
+#: plinth/modules/wireguard/templates/wireguard.html:102
msgid "Last Connected Time"
msgstr ""
@@ -8723,47 +8723,62 @@ msgstr ""
msgid "Public key for this %(box_name)s:"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:54
+#: plinth/modules/wireguard/templates/wireguard.html:55
+#: plinth/modules/wireguard/templates/wireguard.html:67
msgid "Not configured yet."
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:59
+#, python-format
+msgid "Endpoints for this %(box_name)s:"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard.html:75
+#: plinth/modules/wireguard/templates/wireguard.html:77
+msgid "Start WireGuard Server"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard.html:81
msgid "Add a new peer"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:63
-#: plinth/modules/wireguard/views.py:48
+#: plinth/modules/wireguard/templates/wireguard.html:85
+#: plinth/modules/wireguard/views.py:59
msgid "Add Allowed Client"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:67
+#: plinth/modules/wireguard/templates/wireguard.html:91
msgid "As a Client"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:69
+#: plinth/modules/wireguard/templates/wireguard.html:93
#, python-format
msgid "Servers that %(box_name)s will connect to:"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:76
+#: plinth/modules/wireguard/templates/wireguard.html:100
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:20
msgid "Endpoint"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:100
+#: plinth/modules/wireguard/templates/wireguard.html:124
msgid "No connections to remote servers are configured yet."
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:110
+#: plinth/modules/wireguard/templates/wireguard.html:134
msgid "Add a new server"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:114
-#: plinth/modules/wireguard/views.py:157
+#: plinth/modules/wireguard/templates/wireguard.html:138
+#: plinth/modules/wireguard/views.py:178
msgid "Add Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard_add_client.html:19
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:21
+msgid "IP address that will be assigned to this client"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:31
msgid "Add Client"
msgstr ""
@@ -8847,62 +8862,70 @@ msgstr ""
msgid "IP address of this machine:"
msgstr ""
-#: plinth/modules/wireguard/views.py:43
+#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
msgstr ""
-#: plinth/modules/wireguard/views.py:58 plinth/modules/wireguard/views.py:117
+#: plinth/modules/wireguard/views.py:79 plinth/modules/wireguard/views.py:138
msgid "Client with public key already exists"
msgstr ""
-#: plinth/modules/wireguard/views.py:71
+#: plinth/modules/wireguard/views.py:92
msgid "Allowed Client"
msgstr ""
-#: plinth/modules/wireguard/views.py:93
+#: plinth/modules/wireguard/views.py:114
msgid "Updated client."
msgstr ""
-#: plinth/modules/wireguard/views.py:98
+#: plinth/modules/wireguard/views.py:119
msgid "Modify Client"
msgstr ""
-#: plinth/modules/wireguard/views.py:131
+#: plinth/modules/wireguard/views.py:152
msgid "Delete Allowed Client"
msgstr ""
-#: plinth/modules/wireguard/views.py:140
+#: plinth/modules/wireguard/views.py:161
msgid "Client deleted."
msgstr ""
-#: plinth/modules/wireguard/views.py:142
+#: plinth/modules/wireguard/views.py:163
msgid "Client not found"
msgstr ""
-#: plinth/modules/wireguard/views.py:152
+#: plinth/modules/wireguard/views.py:173
msgid "Added new server."
msgstr ""
-#: plinth/modules/wireguard/views.py:173
+#: plinth/modules/wireguard/views.py:194
msgid "Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/views.py:191
+#: plinth/modules/wireguard/views.py:212
msgid "Updated server."
msgstr ""
-#: plinth/modules/wireguard/views.py:196
+#: plinth/modules/wireguard/views.py:217
msgid "Modify Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/views.py:233
+#: plinth/modules/wireguard/views.py:254
msgid "Delete Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/views.py:253
+#: plinth/modules/wireguard/views.py:274
msgid "Server deleted."
msgstr ""
+#: plinth/modules/wireguard/views.py:286
+msgid "WireGuard server started successfully."
+msgstr ""
+
+#: plinth/modules/wireguard/views.py:290
+msgid "Failed to start WireGuard server: {}"
+msgstr ""
+
#: plinth/modules/wordpress/__init__.py:20
msgid ""
"WordPress is a popular way to create and manage websites and blogs. Content "
@@ -9209,35 +9232,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: plinth/templates/base.html:120
+#: plinth/templates/base.html:121
msgid " Home"
msgstr ""
-#: plinth/templates/base.html:128
+#: plinth/templates/base.html:129
msgid " Apps"
msgstr ""
-#: plinth/templates/base.html:137
+#: plinth/templates/base.html:138
msgid " System"
msgstr ""
-#: plinth/templates/base.html:178 plinth/templates/base.html:179
+#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Change password"
msgstr ""
-#: plinth/templates/base.html:192 plinth/templates/base.html:193
+#: plinth/templates/base.html:193 plinth/templates/base.html:194
msgid "Shut down"
msgstr ""
-#: plinth/templates/base.html:203 plinth/templates/base.html:241
+#: plinth/templates/base.html:204 plinth/templates/base.html:242
msgid "Log out"
msgstr ""
-#: plinth/templates/base.html:212 plinth/templates/base.html:215
+#: plinth/templates/base.html:213 plinth/templates/base.html:216
msgid "Select language"
msgstr ""
-#: plinth/templates/base.html:230 plinth/templates/base.html:232
+#: plinth/templates/base.html:231 plinth/templates/base.html:233
msgid "Log in"
msgstr ""
@@ -9482,7 +9505,7 @@ msgstr ""
msgid "Setting unchanged"
msgstr ""
-#: plinth/views.py:658
+#: plinth/views.py:654
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
diff --git a/plinth/locale/el/LC_MESSAGES/django.po b/plinth/locale/el/LC_MESSAGES/django.po
index e82b55138..6395d33e3 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-16 01:18+0000\n"
+"POT-Creation-Date: 2026-02-03 01:14+0000\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Greek \n"
"Language-Team: Spanish \n"
"Language-Team: Estonian calibre group will be able to access the "
"app. All users with access can use all the libraries."
msgstr ""
-"Sellele rakendusele saavad ligi vaid kasutajad, kes kuuluvad gruppi "
-"calibre. Neil kõigil on võimalik kasutada kõiki raamatukogusid."
+"Sellele rakendusele saavad ligi vaid kasutajad, kes kuuluvad gruppi "
+"calibre. Neil kõigil on võimalik kasutada kõiki raamatukogusid."
#: plinth/modules/calibre/__init__.py:53
msgid "Use calibre e-book libraries"
@@ -3033,8 +3033,8 @@ msgstr ""
msgid "Contribute"
msgstr "Tee kaastööd"
-#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:221
-#: plinth/templates/base.html:224 plinth/templates/help-menu.html:46
+#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
+#: plinth/templates/base.html:225 plinth/templates/help-menu.html:46
#: plinth/templates/help-menu.html:47 plinth/templates/index.html:96
msgid "About"
msgstr "Rakenduse teave"
@@ -3576,7 +3576,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:204
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
-#: plinth/templates/base.html:277
+#: plinth/templates/base.html:282
msgid "JavaScript license information"
msgstr ""
@@ -4613,7 +4613,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:40
#: plinth/modules/wireguard/templates/wireguard_show_client.html:72
#: plinth/modules/wireguard/templates/wireguard_show_server.html:73
-#: plinth/templates/base.html:171 plinth/templates/base.html:172
+#: plinth/templates/base.html:172 plinth/templates/base.html:173
msgid "Edit"
msgstr ""
@@ -6131,8 +6131,8 @@ msgstr "Käivita arvuti uuesti"
msgid "Shutdown"
msgstr "Lülita välja"
-#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:186
-#: plinth/templates/base.html:187
+#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
+#: plinth/templates/base.html:188
msgid "Restart"
msgstr "Käivita uuesti"
@@ -8671,7 +8671,7 @@ msgstr "Vigane võti."
#: plinth/modules/wireguard/forms.py:61
#: plinth/modules/wireguard/templates/wireguard.html:17
-#: plinth/modules/wireguard/templates/wireguard.html:77
+#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:24
msgid "Public Key"
msgstr "Avalik võti"
@@ -8761,7 +8761,7 @@ msgid "Allowed IPs"
msgstr "Lubatud IP-aadressid"
#: plinth/modules/wireguard/templates/wireguard.html:19
-#: plinth/modules/wireguard/templates/wireguard.html:78
+#: plinth/modules/wireguard/templates/wireguard.html:102
msgid "Last Connected Time"
msgstr "Viimase ühendamise aeg"
@@ -8775,47 +8775,64 @@ msgstr ""
msgid "Public key for this %(box_name)s:"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:54
+#: plinth/modules/wireguard/templates/wireguard.html:55
+#: plinth/modules/wireguard/templates/wireguard.html:67
msgid "Not configured yet."
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:59
+#, python-format
+msgid "Endpoints for this %(box_name)s:"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard.html:75
+#: plinth/modules/wireguard/templates/wireguard.html:77
+msgid "Start WireGuard Server"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard.html:81
msgid "Add a new peer"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:63
-#: plinth/modules/wireguard/views.py:48
+#: plinth/modules/wireguard/templates/wireguard.html:85
+#: plinth/modules/wireguard/views.py:59
msgid "Add Allowed Client"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:67
+#: plinth/modules/wireguard/templates/wireguard.html:91
msgid "As a Client"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:69
+#: plinth/modules/wireguard/templates/wireguard.html:93
#, python-format
msgid "Servers that %(box_name)s will connect to:"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:76
+#: plinth/modules/wireguard/templates/wireguard.html:100
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:20
msgid "Endpoint"
msgstr "Otspunkt"
-#: plinth/modules/wireguard/templates/wireguard.html:100
+#: plinth/modules/wireguard/templates/wireguard.html:124
msgid "No connections to remote servers are configured yet."
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:110
+#: plinth/modules/wireguard/templates/wireguard.html:134
msgid "Add a new server"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:114
-#: plinth/modules/wireguard/views.py:157
+#: plinth/modules/wireguard/templates/wireguard.html:138
+#: plinth/modules/wireguard/views.py:178
msgid "Add Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard_add_client.html:19
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:21
+#, fuzzy
+#| msgid "IP address to use for client:"
+msgid "IP address that will be assigned to this client"
+msgstr "IP-aadress kasutamiseks kliendi jaoks:"
+
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:31
msgid "Add Client"
msgstr ""
@@ -8899,62 +8916,72 @@ msgstr ""
msgid "IP address of this machine:"
msgstr ""
-#: plinth/modules/wireguard/views.py:43
+#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
msgstr ""
-#: plinth/modules/wireguard/views.py:58 plinth/modules/wireguard/views.py:117
+#: plinth/modules/wireguard/views.py:79 plinth/modules/wireguard/views.py:138
msgid "Client with public key already exists"
msgstr ""
-#: plinth/modules/wireguard/views.py:71
+#: plinth/modules/wireguard/views.py:92
msgid "Allowed Client"
msgstr ""
-#: plinth/modules/wireguard/views.py:93
+#: plinth/modules/wireguard/views.py:114
msgid "Updated client."
msgstr ""
-#: plinth/modules/wireguard/views.py:98
+#: plinth/modules/wireguard/views.py:119
msgid "Modify Client"
msgstr ""
-#: plinth/modules/wireguard/views.py:131
+#: plinth/modules/wireguard/views.py:152
msgid "Delete Allowed Client"
msgstr ""
-#: plinth/modules/wireguard/views.py:140
+#: plinth/modules/wireguard/views.py:161
msgid "Client deleted."
msgstr ""
-#: plinth/modules/wireguard/views.py:142
+#: plinth/modules/wireguard/views.py:163
msgid "Client not found"
msgstr ""
-#: plinth/modules/wireguard/views.py:152
+#: plinth/modules/wireguard/views.py:173
msgid "Added new server."
msgstr ""
-#: plinth/modules/wireguard/views.py:173
+#: plinth/modules/wireguard/views.py:194
msgid "Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/views.py:191
+#: plinth/modules/wireguard/views.py:212
msgid "Updated server."
msgstr ""
-#: plinth/modules/wireguard/views.py:196
+#: plinth/modules/wireguard/views.py:217
msgid "Modify Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/views.py:233
+#: plinth/modules/wireguard/views.py:254
msgid "Delete Connection to Server"
msgstr ""
-#: plinth/modules/wireguard/views.py:253
+#: plinth/modules/wireguard/views.py:274
msgid "Server deleted."
msgstr ""
+#: plinth/modules/wireguard/views.py:286
+#, fuzzy
+#| msgid "Password changed successfully."
+msgid "WireGuard server started successfully."
+msgstr "Salasõna muutmine õnnestus."
+
+#: plinth/modules/wireguard/views.py:290
+msgid "Failed to start WireGuard server: {}"
+msgstr ""
+
#: plinth/modules/wordpress/__init__.py:20
msgid ""
"WordPress is a popular way to create and manage websites and blogs. Content "
@@ -9261,35 +9288,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: plinth/templates/base.html:120
+#: plinth/templates/base.html:121
msgid " Home"
msgstr ""
-#: plinth/templates/base.html:128
+#: plinth/templates/base.html:129
msgid " Apps"
msgstr ""
-#: plinth/templates/base.html:137
+#: plinth/templates/base.html:138
msgid " System"
msgstr ""
-#: plinth/templates/base.html:178 plinth/templates/base.html:179
+#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Change password"
msgstr ""
-#: plinth/templates/base.html:192 plinth/templates/base.html:193
+#: plinth/templates/base.html:193 plinth/templates/base.html:194
msgid "Shut down"
msgstr ""
-#: plinth/templates/base.html:203 plinth/templates/base.html:241
+#: plinth/templates/base.html:204 plinth/templates/base.html:242
msgid "Log out"
msgstr ""
-#: plinth/templates/base.html:212 plinth/templates/base.html:215
+#: plinth/templates/base.html:213 plinth/templates/base.html:216
msgid "Select language"
msgstr ""
-#: plinth/templates/base.html:230 plinth/templates/base.html:232
+#: plinth/templates/base.html:231 plinth/templates/base.html:233
msgid "Log in"
msgstr ""
@@ -9537,7 +9564,7 @@ msgstr ""
msgid "Setting unchanged"
msgstr ""
-#: plinth/views.py:658
+#: plinth/views.py:654
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
diff --git a/plinth/locale/fa/LC_MESSAGES/django.po b/plinth/locale/fa/LC_MESSAGES/django.po
index 5ab62d367..4c9c23069 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-16 01:18+0000\n"
+"POT-Creation-Date: 2026-02-03 01:14+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Persian \n"
"Language-Team: Plinth Developers \n"
"Language-Team: French /syncthing. Desktop and mobile "
diff --git a/plinth/locale/gl/LC_MESSAGES/django.po b/plinth/locale/gl/LC_MESSAGES/django.po
index e66c6c40e..4ab23d046 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-16 01:18+0000\n"
+"POT-Creation-Date: 2026-02-03 01:14+0000\n"
"PO-Revision-Date: 2022-12-30 10:51+0000\n"
"Last-Translator: gallegonovato \n"
"Language-Team: Galician \n"
"Language-Team: Gujarati \n"
"Language-Team: Hindi \n"
@@ -111,15 +111,15 @@ msgstr "A webes felület megjelenítéséhez használt nyelv"
msgid "Use the language preference set in the browser"
msgstr "A böngésző nyelvének használata"
-#: plinth/menu.py:116 plinth/templates/base.html:123
+#: plinth/menu.py:116 plinth/templates/base.html:124
msgid "Home"
msgstr "Kezdőlap"
-#: plinth/menu.py:117 plinth/templates/base.html:132
+#: plinth/menu.py:117 plinth/templates/base.html:133
msgid "Apps"
msgstr "Alkalmazások"
-#: plinth/menu.py:119 plinth/menu.py:126 plinth/templates/base.html:141
+#: plinth/menu.py:119 plinth/menu.py:126 plinth/templates/base.html:142
msgid "System"
msgstr "Rendszer"
@@ -3446,8 +3446,8 @@ msgstr "Visszajelzés küldése"
msgid "Contribute"
msgstr "Hozzájárulás"
-#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:221
-#: plinth/templates/base.html:224 plinth/templates/help-menu.html:46
+#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
+#: plinth/templates/base.html:225 plinth/templates/help-menu.html:46
#: plinth/templates/help-menu.html:47 plinth/templates/index.html:96
msgid "About"
msgstr "Névjegy"
@@ -4087,7 +4087,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:204
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
-#: plinth/templates/base.html:277
+#: plinth/templates/base.html:282
msgid "JavaScript license information"
msgstr "JavaScript licencinformáció"
@@ -5366,7 +5366,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:40
#: plinth/modules/wireguard/templates/wireguard_show_client.html:72
#: plinth/modules/wireguard/templates/wireguard_show_server.html:73
-#: plinth/templates/base.html:171 plinth/templates/base.html:172
+#: plinth/templates/base.html:172 plinth/templates/base.html:173
msgid "Edit"
msgstr "Szerkesztés"
@@ -7168,8 +7168,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Leállítás"
-#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:186
-#: plinth/templates/base.html:187
+#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
+#: plinth/templates/base.html:188
msgid "Restart"
msgstr "Újraindítás"
@@ -10194,7 +10194,7 @@ msgstr "Érvénytelen kulcs."
#: plinth/modules/wireguard/forms.py:61
#: plinth/modules/wireguard/templates/wireguard.html:17
-#: plinth/modules/wireguard/templates/wireguard.html:77
+#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:24
msgid "Public Key"
msgstr "Nyilvános kulcs"
@@ -10303,7 +10303,7 @@ msgid "Allowed IPs"
msgstr "Engedélyezett IP-címek"
#: plinth/modules/wireguard/templates/wireguard.html:19
-#: plinth/modules/wireguard/templates/wireguard.html:78
+#: plinth/modules/wireguard/templates/wireguard.html:102
msgid "Last Connected Time"
msgstr "Utolsó csatlakozási idő"
@@ -10317,47 +10317,65 @@ msgstr "Ehhez a %(box_name)shoz még nincs partner konfigurálva."
msgid "Public key for this %(box_name)s:"
msgstr "A %(box_name)s nyilvános kulcsa:"
-#: plinth/modules/wireguard/templates/wireguard.html:54
+#: plinth/modules/wireguard/templates/wireguard.html:55
+#: plinth/modules/wireguard/templates/wireguard.html:67
msgid "Not configured yet."
msgstr "Még nincs konfigurálva."
#: plinth/modules/wireguard/templates/wireguard.html:59
+#, fuzzy, python-format
+#| msgid "Public key for this %(box_name)s:"
+msgid "Endpoints for this %(box_name)s:"
+msgstr "A %(box_name)s nyilvános kulcsa:"
+
+#: plinth/modules/wireguard/templates/wireguard.html:75
+#: plinth/modules/wireguard/templates/wireguard.html:77
+msgid "Start WireGuard Server"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard.html:81
msgid "Add a new peer"
msgstr "Új társ hozzáadása"
-#: plinth/modules/wireguard/templates/wireguard.html:63
-#: plinth/modules/wireguard/views.py:48
+#: plinth/modules/wireguard/templates/wireguard.html:85
+#: plinth/modules/wireguard/views.py:59
msgid "Add Allowed Client"
msgstr "Engedélyezett kliens hozzáadása"
-#: plinth/modules/wireguard/templates/wireguard.html:67
+#: plinth/modules/wireguard/templates/wireguard.html:91
msgid "As a Client"
msgstr "Ügyfélként"
-#: plinth/modules/wireguard/templates/wireguard.html:69
+#: plinth/modules/wireguard/templates/wireguard.html:93
#, python-format
msgid "Servers that %(box_name)s will connect to:"
msgstr "Szerverek, amelyekhez a %(box_name)s csatlakozni fog:"
-#: plinth/modules/wireguard/templates/wireguard.html:76
+#: plinth/modules/wireguard/templates/wireguard.html:100
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:20
msgid "Endpoint"
msgstr "Végpont"
-#: plinth/modules/wireguard/templates/wireguard.html:100
+#: plinth/modules/wireguard/templates/wireguard.html:124
msgid "No connections to remote servers are configured yet."
msgstr "A távoli szerverekhez még nincsenek konfigurálva kapcsolatok."
-#: plinth/modules/wireguard/templates/wireguard.html:110
+#: plinth/modules/wireguard/templates/wireguard.html:134
msgid "Add a new server"
msgstr "Új szerver hozzáadása"
-#: plinth/modules/wireguard/templates/wireguard.html:114
-#: plinth/modules/wireguard/views.py:157
+#: plinth/modules/wireguard/templates/wireguard.html:138
+#: plinth/modules/wireguard/views.py:178
msgid "Add Connection to Server"
msgstr "Kapcsolat hozzáadása a szerverhez"
-#: plinth/modules/wireguard/templates/wireguard_add_client.html:19
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:21
+#, fuzzy
+#| msgid "IP address to use for client:"
+msgid "IP address that will be assigned to this client"
+msgstr "A kliens által használt IP-cím:"
+
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:31
msgid "Add Client"
msgstr "Kliens hozzáadása"
@@ -10446,62 +10464,72 @@ msgstr "A gép nyilvános kulcsa:"
msgid "IP address of this machine:"
msgstr "A gép IP-címe:"
-#: plinth/modules/wireguard/views.py:43
+#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
msgstr "Új kliens hozzáadva."
-#: plinth/modules/wireguard/views.py:58 plinth/modules/wireguard/views.py:117
+#: plinth/modules/wireguard/views.py:79 plinth/modules/wireguard/views.py:138
msgid "Client with public key already exists"
msgstr "Ezzel a nyilvános kulccsal már létezik kliens"
-#: plinth/modules/wireguard/views.py:71
+#: plinth/modules/wireguard/views.py:92
msgid "Allowed Client"
msgstr "Engedélyezett kliens"
-#: plinth/modules/wireguard/views.py:93
+#: plinth/modules/wireguard/views.py:114
msgid "Updated client."
msgstr "Kliens frissítve."
-#: plinth/modules/wireguard/views.py:98
+#: plinth/modules/wireguard/views.py:119
msgid "Modify Client"
msgstr "Ügyfél módosítása"
-#: plinth/modules/wireguard/views.py:131
+#: plinth/modules/wireguard/views.py:152
msgid "Delete Allowed Client"
msgstr "Engedélyezett kliensek törlése"
-#: plinth/modules/wireguard/views.py:140
+#: plinth/modules/wireguard/views.py:161
msgid "Client deleted."
msgstr "Ügyfél törölve."
-#: plinth/modules/wireguard/views.py:142
+#: plinth/modules/wireguard/views.py:163
msgid "Client not found"
msgstr "Az ügyfél nem található"
-#: plinth/modules/wireguard/views.py:152
+#: plinth/modules/wireguard/views.py:173
msgid "Added new server."
msgstr "Új szerver hozzáadva."
-#: plinth/modules/wireguard/views.py:173
+#: plinth/modules/wireguard/views.py:194
msgid "Connection to Server"
msgstr "Kapcsolat a szerverhez"
-#: plinth/modules/wireguard/views.py:191
+#: plinth/modules/wireguard/views.py:212
msgid "Updated server."
msgstr "Szerver frissítve."
-#: plinth/modules/wireguard/views.py:196
+#: plinth/modules/wireguard/views.py:217
msgid "Modify Connection to Server"
msgstr "Szerverrel létesített kapcsolat módosítása"
-#: plinth/modules/wireguard/views.py:233
+#: plinth/modules/wireguard/views.py:254
msgid "Delete Connection to Server"
msgstr "Szerverrel létesített kapcsolat törlése"
-#: plinth/modules/wireguard/views.py:253
+#: plinth/modules/wireguard/views.py:274
msgid "Server deleted."
msgstr "Szerver törölve."
+#: plinth/modules/wireguard/views.py:286
+#, fuzzy
+#| msgid "Password changed successfully."
+msgid "WireGuard server started successfully."
+msgstr "A jelszó módosítása sikeres."
+
+#: plinth/modules/wireguard/views.py:290
+msgid "Failed to start WireGuard server: {}"
+msgstr ""
+
#: plinth/modules/wordpress/__init__.py:20
msgid ""
"WordPress is a popular way to create and manage websites and blogs. Content "
@@ -10904,35 +10932,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: plinth/templates/base.html:120
+#: plinth/templates/base.html:121
msgid " Home"
msgstr " Kezdőlap"
-#: plinth/templates/base.html:128
+#: plinth/templates/base.html:129
msgid " Apps"
msgstr " Alkalmazások"
-#: plinth/templates/base.html:137
+#: plinth/templates/base.html:138
msgid " System"
msgstr " Rendszer"
-#: plinth/templates/base.html:178 plinth/templates/base.html:179
+#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Change password"
msgstr "Jelszómódosítás"
-#: plinth/templates/base.html:192 plinth/templates/base.html:193
+#: plinth/templates/base.html:193 plinth/templates/base.html:194
msgid "Shut down"
msgstr "Leállítás"
-#: plinth/templates/base.html:203 plinth/templates/base.html:241
+#: plinth/templates/base.html:204 plinth/templates/base.html:242
msgid "Log out"
msgstr "Kijelentkezés"
-#: plinth/templates/base.html:212 plinth/templates/base.html:215
+#: plinth/templates/base.html:213 plinth/templates/base.html:216
msgid "Select language"
msgstr "Válassz nyelvet"
-#: plinth/templates/base.html:230 plinth/templates/base.html:232
+#: plinth/templates/base.html:231 plinth/templates/base.html:233
msgid "Log in"
msgstr "Bejelentkezés"
@@ -11216,7 +11244,7 @@ msgstr ""
msgid "Setting unchanged"
msgstr "A beállítás változatlan"
-#: plinth/views.py:658
+#: plinth/views.py:654
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
diff --git a/plinth/locale/id/LC_MESSAGES/django.po b/plinth/locale/id/LC_MESSAGES/django.po
index f232e776d..2cc5dbe61 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-16 01:18+0000\n"
+"POT-Creation-Date: 2026-02-03 01:14+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Indonesian \n"
"Language-Team: Italian Per ripristinare un backup su un nuovo %(box_name)s sono necessarie "
-"le credenziali SSH e, se utilizzata, la passphrase di crittografia."
+"Le credenziali di questo repository sono memorizzate sul vostro "
+"%(box_name)s.
Per ripristinare un backup su un nuovo %(box_name)s sono "
+"necessarie le credenziali SSH e, se utilizzata, la passphrase di "
+"crittografia."
#: plinth/modules/backups/templates/backups_add_remote_repository.html:34
msgid "Create Location"
@@ -1747,7 +1748,8 @@ msgstr "Abilita riparazione automatica"
#: plinth/modules/diagnostics/forms.py:16
msgid "If issues are found, try to repair them automatically."
-msgstr "Se vengono rilevati dei problemi, provare a risolverli automaticamente."
+msgstr ""
+"Se vengono rilevati dei problemi, provare a risolverli automaticamente."
#: plinth/modules/diagnostics/manifest.py:10
msgid "Detect problems"
@@ -2163,9 +2165,10 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
"Per comunicare, puoi usare un qualsiasi client web"
-"a> o un "
-"client XMPP . Una volta abilitato, ejabberd è accessibile da qualsiasi "
-"utente con un login {box_name}."
+"a> o un client XMPP . Una volta abilitato, ejabberd è "
+"accessibile da qualsiasi utente con un login "
+"{box_name}."
#: plinth/modules/ejabberd/__init__.py:40
#, python-brace-format
@@ -2989,8 +2992,8 @@ msgstr "Aggiorna adesso"
msgid ""
"Review privacy options."
msgstr ""
-"Verifica le opzioni sulla "
-"privacy."
+"Verifica le opzioni sulla privacy."
#: plinth/modules/first_boot/templates/firstboot_complete.html:49
#, python-format
@@ -2998,9 +3001,9 @@ msgid ""
"Review and setup network "
"connections. Change the default Wi-Fi password, if applicable."
msgstr ""
-"Verifica e configura le "
-"connessioni di rete. Se è possibile, modifica la password Wi-Fi "
-"predefinita."
+"Verifica e configura le connessioni di rete. Se è possibile, modifica la "
+"password Wi-Fi predefinita."
#: plinth/modules/first_boot/templates/firstboot_complete.html:60
#, python-format
@@ -3015,8 +3018,8 @@ msgid ""
"Configure and schedule remote backups."
msgstr ""
-"Configura e pianifica un "
-"backup remoto."
+"Configura e pianifica un backup remoto."
#: plinth/modules/first_boot/templates/firstboot_complete.html:81
#, python-format
@@ -3294,8 +3297,8 @@ msgstr "Invia feedback"
msgid "Contribute"
msgstr "Collabora"
-#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:221
-#: plinth/templates/base.html:224 plinth/templates/help-menu.html:46
+#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
+#: plinth/templates/base.html:225 plinth/templates/help-menu.html:46
#: plinth/templates/help-menu.html:47 plinth/templates/index.html:96
msgid "About"
msgstr "Informazioni"
@@ -3561,8 +3564,8 @@ msgid ""
" "
"%(box_name)s project wiki contains further information."
msgstr ""
-"il %"
-"(box_name)s progetto wiki contiene ulteriori informazioni."
+"il "
+"%(box_name)s progetto wiki contiene ulteriori informazioni."
#: plinth/modules/help/templates/help_index.html:32
#, python-format
@@ -3623,8 +3626,8 @@ msgid ""
"Or send an email to our mailing list."
msgstr ""
-"Potete anche chattare con noi sui canali IRC e Matrix (bridged): - "
-"#freedombox su irc.oftc.net
- #freedombox:matrix.org
"
+"Potete anche chattare con noi sui canali IRC e Matrix (bridged): "
+"- #freedombox su irc.oftc.net
- #freedombox:matrix.org
"
"Oppure inviare una email alla nostra mailing list."
@@ -3747,9 +3750,9 @@ msgid ""
"href=\"%(dynamic_dns_url)s\">Dynamic DNS app for configuring subdomains."
msgstr ""
"Per Home Assistant è possibile configurare un sottodominio dedicato, come "
-"homeassistant.esempio.miodominio. Vedere le app "
-"Nomi e DNS dinamico per la "
-"configurazione dei sottodomini."
+"homeassistant.esempio.miodominio. Vedere le app Nomi e DNS "
+"dinamico per la configurazione dei sottodomini."
#: plinth/modules/homeassistant/templates/homeassistant.html:40
#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18
@@ -3952,7 +3955,7 @@ msgstr "Conferenza Web"
#: plinth/modules/janus/templates/janus_video_room.html:204
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
-#: plinth/templates/base.html:277
+#: plinth/templates/base.html:282
msgid "JavaScript license information"
msgstr "Informazioni sulla licenza JavaScript"
@@ -4603,7 +4606,8 @@ msgstr "Password aggiornata"
#: plinth/modules/mediawiki/views.py:48
msgid "Password update failed. Please choose a stronger password"
-msgstr "Aggiornamento della password fallito. Scegli una password più complessa"
+msgstr ""
+"Aggiornamento della password fallito. Scegli una password più complessa"
#: plinth/modules/mediawiki/views.py:57
msgid "Public registrations enabled"
@@ -5178,7 +5182,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:40
#: plinth/modules/wireguard/templates/wireguard_show_client.html:72
#: plinth/modules/wireguard/templates/wireguard_show_server.html:73
-#: plinth/templates/base.html:171 plinth/templates/base.html:172
+#: plinth/templates/base.html:172 plinth/templates/base.html:173
msgid "Edit"
msgstr "Modifica"
@@ -6133,8 +6137,8 @@ msgid ""
"Your Internet connection is directly attached to your %(box_name)s and there "
"are no other devices on the network."
msgstr ""
-"La propria connessione internet è collegata direttamente al proprio %"
-"(box_name)s e non ci sono altri dispositivi sulla rete."
+"La propria connessione internet è collegata direttamente al proprio "
+"%(box_name)s e non ci sono altri dispositivi sulla rete."
#: plinth/modules/networks/templates/networks_configuration.html:24
msgid ""
@@ -6915,8 +6919,8 @@ msgstr "Riavvia"
msgid "Shutdown"
msgstr "Spegni"
-#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:186
-#: plinth/templates/base.html:187
+#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
+#: plinth/templates/base.html:188
msgid "Restart"
msgstr "Riavvio"
@@ -7288,8 +7292,8 @@ msgstr ""
"Google e il server sarà imaps://imap.gmail.com. Da notare che "
"sarà anche necessario abilitare \"app meno sicure\" nelle impostazioni del "
"tuo account Google (https://www.google.com/settings/security/lesssecureapps)"
-"."
+"lesssecureapps\">https://www.google.com/settings/security/lesssecureapps"
+"a>)."
#: plinth/modules/roundcube/forms.py:16
msgid "Use only the local mail server"
@@ -7675,8 +7679,8 @@ msgid ""
msgstr ""
"La seguente tabella elenca il numero attuale di vulnerabilità di sicurezza "
"per ogni app installata. Maggiori informazioni sulle vulnerabilità sono "
-"disponibili su "
-"Debian Security Bug Tracker."
+"disponibili su Debian Security Bug Tracker."
#: plinth/modules/security/templates/security_report.html:28
msgid ""
@@ -8015,8 +8019,9 @@ msgid ""
"backups\">backups since they can only be stored on the same partition. "
msgstr ""
"Le istantanee, attualmente, funzionano solo sui filesystem btrfs e solo "
-"sulla partizione root. Non sostituiscono i "
-"backup poiché possono essere salvate solo sulla stessa partizione. "
+"sulla partizione root. Non sostituiscono i backup poiché possono essere salvate solo sulla stessa "
+"partizione. "
#: plinth/modules/snapshot/__init__.py:50
msgid "Storage Snapshots"
@@ -8627,8 +8632,8 @@ msgid ""
"%(expandable_root_size)s of additional free space will be available in your "
"root partition."
msgstr ""
-"Esegui un backup dei tuoi dati prima di procedere. Dopo questa operazione, %"
-"(expandable_root_size)s di spazio libero aggiuntivo sarà disponibile nella "
+"Esegui un backup dei tuoi dati prima di procedere. Dopo questa operazione, "
+"%(expandable_root_size)s di spazio libero aggiuntivo sarà disponibile nella "
"partizione root."
#: plinth/modules/storage/views.py:67
@@ -8781,8 +8786,8 @@ msgstr ""
"Tor è un sistema di comunicazione anonimo. Per ulteriori dettagli visita il "
"sito web Tor Project. Per la "
"massima protezione durante la navigazione web, Tor Project raccomanda di "
-"usare "
-"Tor Browser."
+"usare Tor Browser."
#: plinth/modules/tor/__init__.py:40
msgid ""
@@ -8864,9 +8869,9 @@ msgid ""
"\">https://bridges.torproject.org/ and copy/paste the bridge information "
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
msgstr ""
-"Puoi trovare alcuni bridge su "
-"https://bridges.torproject.org/ e copiarli/incollarli qui. I protocolli "
-"supportati sono: nessuno, obfs3, obfs4 e scamblesuit."
+"Puoi trovare alcuni bridge su https://bridges.torproject.org/ e copiarli/incollarli qui. I "
+"protocolli supportati sono: nessuno, obfs3, obfs4 e scamblesuit."
#: plinth/modules/tor/forms.py:95
msgid "Enable Tor relay"
@@ -9270,8 +9275,8 @@ msgid ""
"changes and transitions during the distribution upgrade."
msgstr ""
"L'aggiornamento della distribuzione inizierà a breve. Esegui un backup delle "
-"applicazioni e dei dati prima di allora. Consulta la pagina del manuale per conoscere le modifiche ed i "
+"applicazioni e dei dati prima di allora. Consulta la pagina del manuale per conoscere le modifiche ed i "
"cambiamenti previsti durante l'aggiornamento."
#: plinth/modules/upgrades/templates/upgrades-dist-upgrade-notification.html:31
@@ -9410,8 +9415,9 @@ msgid ""
"automatically in %(period)s. You may choose to update manually now, if you "
"wish."
msgstr ""
-"È disponibile una nuova distribuzione stable. L'aggiornamento di %(box_name)"
-"s averrà automaticamente entro %(period)s. Se vuoi, puoi eseguirlo ora."
+"È disponibile una nuova distribuzione stable. L'aggiornamento di "
+"%(box_name)s averrà automaticamente entro %(period)s. Se vuoi, puoi "
+"eseguirlo ora."
#: plinth/modules/upgrades/templates/upgrades-dist-upgrade.html:136
#, python-format
@@ -9892,7 +9898,7 @@ msgstr "Chiave non valida."
#: plinth/modules/wireguard/forms.py:61
#: plinth/modules/wireguard/templates/wireguard.html:17
-#: plinth/modules/wireguard/templates/wireguard.html:77
+#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:24
msgid "Public Key"
msgstr "Chiave pubblico"
@@ -10000,7 +10006,7 @@ msgid "Allowed IPs"
msgstr "IP autorizzati"
#: plinth/modules/wireguard/templates/wireguard.html:19
-#: plinth/modules/wireguard/templates/wireguard.html:78
+#: plinth/modules/wireguard/templates/wireguard.html:102
msgid "Last Connected Time"
msgstr "Data dell'ultima connessione"
@@ -10014,47 +10020,65 @@ msgstr "Non ci sono nodi autorizzati a connettersi a %(box_name)s."
msgid "Public key for this %(box_name)s:"
msgstr "Chiave pubblica di %(box_name)s:"
-#: plinth/modules/wireguard/templates/wireguard.html:54
+#: plinth/modules/wireguard/templates/wireguard.html:55
+#: plinth/modules/wireguard/templates/wireguard.html:67
msgid "Not configured yet."
msgstr "Non ancora configurato."
#: plinth/modules/wireguard/templates/wireguard.html:59
+#, fuzzy, python-format
+#| msgid "Public key for this %(box_name)s:"
+msgid "Endpoints for this %(box_name)s:"
+msgstr "Chiave pubblica di %(box_name)s:"
+
+#: plinth/modules/wireguard/templates/wireguard.html:75
+#: plinth/modules/wireguard/templates/wireguard.html:77
+msgid "Start WireGuard Server"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard.html:81
msgid "Add a new peer"
msgstr "Aggiungi un nuovo nodo"
-#: plinth/modules/wireguard/templates/wireguard.html:63
-#: plinth/modules/wireguard/views.py:48
+#: plinth/modules/wireguard/templates/wireguard.html:85
+#: plinth/modules/wireguard/views.py:59
msgid "Add Allowed Client"
msgstr "Aggiungi client autorizzato"
-#: plinth/modules/wireguard/templates/wireguard.html:67
+#: plinth/modules/wireguard/templates/wireguard.html:91
msgid "As a Client"
msgstr "Come Client"
-#: plinth/modules/wireguard/templates/wireguard.html:69
+#: plinth/modules/wireguard/templates/wireguard.html:93
#, python-format
msgid "Servers that %(box_name)s will connect to:"
msgstr "Server a cui %(box_name)s si connetterà:"
-#: plinth/modules/wireguard/templates/wireguard.html:76
+#: plinth/modules/wireguard/templates/wireguard.html:100
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:20
msgid "Endpoint"
msgstr "Endpoint"
-#: plinth/modules/wireguard/templates/wireguard.html:100
+#: plinth/modules/wireguard/templates/wireguard.html:124
msgid "No connections to remote servers are configured yet."
msgstr "Non sono configurate connessioni a server remoti."
-#: plinth/modules/wireguard/templates/wireguard.html:110
+#: plinth/modules/wireguard/templates/wireguard.html:134
msgid "Add a new server"
msgstr "Aggiungi un nuovo server"
-#: plinth/modules/wireguard/templates/wireguard.html:114
-#: plinth/modules/wireguard/views.py:157
+#: plinth/modules/wireguard/templates/wireguard.html:138
+#: plinth/modules/wireguard/views.py:178
msgid "Add Connection to Server"
msgstr "Aggiungi Connessione a Server"
-#: plinth/modules/wireguard/templates/wireguard_add_client.html:19
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:21
+#, fuzzy
+#| msgid "IP address to use for client:"
+msgid "IP address that will be assigned to this client"
+msgstr "Indirizzo IP da utilizzare sul client:"
+
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:31
msgid "Add Client"
msgstr "Aggiungere Client"
@@ -10143,62 +10167,72 @@ msgstr "Chiave pubblica di questa macchina:"
msgid "IP address of this machine:"
msgstr "Indirizzo IP di questa macchina:"
-#: plinth/modules/wireguard/views.py:43
+#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
msgstr "Client aggiunto."
-#: plinth/modules/wireguard/views.py:58 plinth/modules/wireguard/views.py:117
+#: plinth/modules/wireguard/views.py:79 plinth/modules/wireguard/views.py:138
msgid "Client with public key already exists"
msgstr "Il cliente con chiave pubblica esiste già"
-#: plinth/modules/wireguard/views.py:71
+#: plinth/modules/wireguard/views.py:92
msgid "Allowed Client"
msgstr "Client autorizzato"
-#: plinth/modules/wireguard/views.py:93
+#: plinth/modules/wireguard/views.py:114
msgid "Updated client."
msgstr "Client aggiornato."
-#: plinth/modules/wireguard/views.py:98
+#: plinth/modules/wireguard/views.py:119
msgid "Modify Client"
msgstr "Modifica client"
-#: plinth/modules/wireguard/views.py:131
+#: plinth/modules/wireguard/views.py:152
msgid "Delete Allowed Client"
msgstr "Elimina client autorizzato"
-#: plinth/modules/wireguard/views.py:140
+#: plinth/modules/wireguard/views.py:161
msgid "Client deleted."
msgstr "Client cancellato."
-#: plinth/modules/wireguard/views.py:142
+#: plinth/modules/wireguard/views.py:163
msgid "Client not found"
msgstr "Cliente non trovato"
-#: plinth/modules/wireguard/views.py:152
+#: plinth/modules/wireguard/views.py:173
msgid "Added new server."
msgstr "Aggiunto nuovo server."
-#: plinth/modules/wireguard/views.py:173
+#: plinth/modules/wireguard/views.py:194
msgid "Connection to Server"
msgstr "Connessione al server"
-#: plinth/modules/wireguard/views.py:191
+#: plinth/modules/wireguard/views.py:212
msgid "Updated server."
msgstr "Aggiornato server."
-#: plinth/modules/wireguard/views.py:196
+#: plinth/modules/wireguard/views.py:217
msgid "Modify Connection to Server"
msgstr "Modifica Concessione a server"
-#: plinth/modules/wireguard/views.py:233
+#: plinth/modules/wireguard/views.py:254
msgid "Delete Connection to Server"
msgstr "Cancella Connessione a server"
-#: plinth/modules/wireguard/views.py:253
+#: plinth/modules/wireguard/views.py:274
msgid "Server deleted."
msgstr "Server cancellato."
+#: plinth/modules/wireguard/views.py:286
+#, fuzzy
+#| msgid "Password changed successfully."
+msgid "WireGuard server started successfully."
+msgstr "La password è stata aggiornata."
+
+#: plinth/modules/wireguard/views.py:290
+msgid "Failed to start WireGuard server: {}"
+msgstr ""
+
#: plinth/modules/wordpress/__init__.py:20
msgid ""
"WordPress is a popular way to create and manage websites and blogs. Content "
@@ -10362,14 +10396,15 @@ msgstr "Finito: {name}"
#: plinth/package.py:219
#, python-brace-format
msgid "Package {package_expression} is not available for install"
-msgstr "Il pacchetto {package_expression} non è disponibile per l'installazione"
+msgstr ""
+"Il pacchetto {package_expression} non è disponibile per l'installazione"
#: plinth/package.py:239
#, python-brace-format
msgid "Package {package_name} is the latest version ({latest_version})"
msgstr ""
-"Il pacchetto {package_name} è all'ultima versione disponibile ("
-"{latest_version})"
+"Il pacchetto {package_name} è all'ultima versione disponibile "
+"({latest_version})"
#: plinth/package.py:456
msgid "installing"
@@ -10559,35 +10594,35 @@ msgstr ""
"proprietà dei dati. Software libero che semplifica l'installazione e la "
"gestione di applicazioni server."
-#: plinth/templates/base.html:120
+#: plinth/templates/base.html:121
msgid " Home"
msgstr " Home"
-#: plinth/templates/base.html:128
+#: plinth/templates/base.html:129
msgid " Apps"
msgstr " App"
-#: plinth/templates/base.html:137
+#: plinth/templates/base.html:138
msgid " System"
msgstr " Sistema"
-#: plinth/templates/base.html:178 plinth/templates/base.html:179
+#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Change password"
msgstr "Cambia password"
-#: plinth/templates/base.html:192 plinth/templates/base.html:193
+#: plinth/templates/base.html:193 plinth/templates/base.html:194
msgid "Shut down"
msgstr "Spegni"
-#: plinth/templates/base.html:203 plinth/templates/base.html:241
+#: plinth/templates/base.html:204 plinth/templates/base.html:242
msgid "Log out"
msgstr "Esci"
-#: plinth/templates/base.html:212 plinth/templates/base.html:215
+#: plinth/templates/base.html:213 plinth/templates/base.html:216
msgid "Select language"
msgstr "Seleziona la lingua"
-#: plinth/templates/base.html:230 plinth/templates/base.html:232
+#: plinth/templates/base.html:231 plinth/templates/base.html:233
msgid "Log in"
msgstr "Accedi"
@@ -10683,8 +10718,8 @@ msgid ""
"Currently the following network interfaces are configured as internal: "
"%(interface_list)s"
msgstr ""
-"Attualmente le seguenti interfacce di rete sono configurate come interne: %"
-"(interface_list)s"
+"Attualmente le seguenti interfacce di rete sono configurate come interne: "
+"%(interface_list)s"
#: plinth/templates/notifications-dropdown.html:11
msgid "Notifications"
@@ -10853,7 +10888,7 @@ msgstr "Qui"
msgid "Setting unchanged"
msgstr "Impostazioni invariate"
-#: plinth/views.py:658
+#: plinth/views.py:654
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "Prima della disinstallazione di {app_id}"
diff --git a/plinth/locale/ja/LC_MESSAGES/django.po b/plinth/locale/ja/LC_MESSAGES/django.po
index 220b4b290..3377e45b6 100644
--- a/plinth/locale/ja/LC_MESSAGES/django.po
+++ b/plinth/locale/ja/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-16 01:18+0000\n"
+"POT-Creation-Date: 2026-02-03 01:14+0000\n"
"PO-Revision-Date: 2025-10-24 16:02+0000\n"
"Last-Translator: Jun Nogata \n"
"Language-Team: Japanese \n"
"Language-Team: Kannada \n"
"Language-Team: Lithuanian \n"
"Language-Team: Latvian \n"
"Language-Team: Norwegian Bokmål \n"
"Language-Team: Dutch \n"
"Language-Team: Polish \n"
"Language-Team: Portuguese \n"
"Language-Team: Russian change password form to "
"change the password."
msgstr ""
-"Для смены пароля используйте форму "
-"Изменить пароль."
+"Для смены пароля используйте форму Изменить пароль."
#: plinth/modules/users/templates/users_update.html:37
#: plinth/templates/language-selection.html:17
@@ -9886,7 +9886,7 @@ msgstr "Недействительный ключ."
#: plinth/modules/wireguard/forms.py:61
#: plinth/modules/wireguard/templates/wireguard.html:17
-#: plinth/modules/wireguard/templates/wireguard.html:77
+#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:24
msgid "Public Key"
msgstr "Открытый ключ"
@@ -9992,7 +9992,7 @@ msgid "Allowed IPs"
msgstr "Разрешенные IP-адреса"
#: plinth/modules/wireguard/templates/wireguard.html:19
-#: plinth/modules/wireguard/templates/wireguard.html:78
+#: plinth/modules/wireguard/templates/wireguard.html:102
msgid "Last Connected Time"
msgstr "Время последнего подключения"
@@ -10007,47 +10007,67 @@ msgstr ""
msgid "Public key for this %(box_name)s:"
msgstr "Открытый ключ для этого %(box_name)s:"
-#: plinth/modules/wireguard/templates/wireguard.html:54
+#: plinth/modules/wireguard/templates/wireguard.html:55
+#: plinth/modules/wireguard/templates/wireguard.html:67
msgid "Not configured yet."
msgstr "Еще не настроен."
#: plinth/modules/wireguard/templates/wireguard.html:59
+#, fuzzy, python-format
+#| msgid "Public key for this %(box_name)s:"
+msgid "Endpoints for this %(box_name)s:"
+msgstr "Открытый ключ для этого %(box_name)s:"
+
+#: plinth/modules/wireguard/templates/wireguard.html:75
+#: plinth/modules/wireguard/templates/wireguard.html:77
+#, fuzzy
+#| msgid "Standard Services"
+msgid "Start WireGuard Server"
+msgstr "Стандартные службы"
+
+#: plinth/modules/wireguard/templates/wireguard.html:81
msgid "Add a new peer"
msgstr "Добавление нового однорангового узла"
-#: plinth/modules/wireguard/templates/wireguard.html:63
-#: plinth/modules/wireguard/views.py:48
+#: plinth/modules/wireguard/templates/wireguard.html:85
+#: plinth/modules/wireguard/views.py:59
msgid "Add Allowed Client"
msgstr "Добавить разрешенный клиент"
-#: plinth/modules/wireguard/templates/wireguard.html:67
+#: plinth/modules/wireguard/templates/wireguard.html:91
msgid "As a Client"
msgstr "Как клиент"
-#: plinth/modules/wireguard/templates/wireguard.html:69
+#: plinth/modules/wireguard/templates/wireguard.html:93
#, python-format
msgid "Servers that %(box_name)s will connect to:"
msgstr "Серверы, к которым %(box_name)s будет подключаться:"
-#: plinth/modules/wireguard/templates/wireguard.html:76
+#: plinth/modules/wireguard/templates/wireguard.html:100
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:20
msgid "Endpoint"
msgstr "Конечная точка"
-#: plinth/modules/wireguard/templates/wireguard.html:100
+#: plinth/modules/wireguard/templates/wireguard.html:124
msgid "No connections to remote servers are configured yet."
msgstr "Подключения к удаленным серверам пока не настроены."
-#: plinth/modules/wireguard/templates/wireguard.html:110
+#: plinth/modules/wireguard/templates/wireguard.html:134
msgid "Add a new server"
msgstr "Добавить новый сервер"
-#: plinth/modules/wireguard/templates/wireguard.html:114
-#: plinth/modules/wireguard/views.py:157
+#: plinth/modules/wireguard/templates/wireguard.html:138
+#: plinth/modules/wireguard/views.py:178
msgid "Add Connection to Server"
msgstr "Добавить подключение к серверу"
-#: plinth/modules/wireguard/templates/wireguard_add_client.html:19
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:21
+#, fuzzy
+#| msgid "IP address to use for client:"
+msgid "IP address that will be assigned to this client"
+msgstr "IP-адрес для использования клиентом:"
+
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:31
msgid "Add Client"
msgstr "Добавить клиент"
@@ -10136,62 +10156,72 @@ msgstr "Открытый ключ этой машины:"
msgid "IP address of this machine:"
msgstr "IP-адрес этой машины:"
-#: plinth/modules/wireguard/views.py:43
+#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
msgstr "Добавлен новый клиент."
-#: plinth/modules/wireguard/views.py:58 plinth/modules/wireguard/views.py:117
+#: plinth/modules/wireguard/views.py:79 plinth/modules/wireguard/views.py:138
msgid "Client with public key already exists"
msgstr "Клиент с открытым ключом уже существует"
-#: plinth/modules/wireguard/views.py:71
+#: plinth/modules/wireguard/views.py:92
msgid "Allowed Client"
msgstr "Разрешенный клиент"
-#: plinth/modules/wireguard/views.py:93
+#: plinth/modules/wireguard/views.py:114
msgid "Updated client."
msgstr "Обновленный клиент."
-#: plinth/modules/wireguard/views.py:98
+#: plinth/modules/wireguard/views.py:119
msgid "Modify Client"
msgstr "Изменить клиент"
-#: plinth/modules/wireguard/views.py:131
+#: plinth/modules/wireguard/views.py:152
msgid "Delete Allowed Client"
msgstr "Удалить разрешенный клиент"
-#: plinth/modules/wireguard/views.py:140
+#: plinth/modules/wireguard/views.py:161
msgid "Client deleted."
msgstr "Клиент удалён."
-#: plinth/modules/wireguard/views.py:142
+#: plinth/modules/wireguard/views.py:163
msgid "Client not found"
msgstr "Клиент не найден"
-#: plinth/modules/wireguard/views.py:152
+#: plinth/modules/wireguard/views.py:173
msgid "Added new server."
msgstr "Добавлен новый сервер."
-#: plinth/modules/wireguard/views.py:173
+#: plinth/modules/wireguard/views.py:194
msgid "Connection to Server"
msgstr "Подключение к серверу"
-#: plinth/modules/wireguard/views.py:191
+#: plinth/modules/wireguard/views.py:212
msgid "Updated server."
msgstr "Обновленный сервер."
-#: plinth/modules/wireguard/views.py:196
+#: plinth/modules/wireguard/views.py:217
msgid "Modify Connection to Server"
msgstr "Изменить подключение к серверу"
-#: plinth/modules/wireguard/views.py:233
+#: plinth/modules/wireguard/views.py:254
msgid "Delete Connection to Server"
msgstr "Удалить соединение с сервером"
-#: plinth/modules/wireguard/views.py:253
+#: plinth/modules/wireguard/views.py:274
msgid "Server deleted."
msgstr "Сервер удален."
+#: plinth/modules/wireguard/views.py:286
+#, fuzzy
+#| msgid "Password changed successfully."
+msgid "WireGuard server started successfully."
+msgstr "Пароль успешно изменён."
+
+#: plinth/modules/wireguard/views.py:290
+msgid "Failed to start WireGuard server: {}"
+msgstr ""
+
#: plinth/modules/wordpress/__init__.py:20
msgid ""
"WordPress is a popular way to create and manage websites and blogs. Content "
@@ -10554,35 +10584,35 @@ msgstr ""
"обеспечение, позволяющее легко устанавливать серверные приложения и "
"управлять ими."
-#: plinth/templates/base.html:120
+#: plinth/templates/base.html:121
msgid " Home"
msgstr " Главная"
-#: plinth/templates/base.html:128
+#: plinth/templates/base.html:129
msgid " Apps"
msgstr " Приложения"
-#: plinth/templates/base.html:137
+#: plinth/templates/base.html:138
msgid " System"
msgstr " Система"
-#: plinth/templates/base.html:178 plinth/templates/base.html:179
+#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Change password"
msgstr "Изменить пароль"
-#: plinth/templates/base.html:192 plinth/templates/base.html:193
+#: plinth/templates/base.html:193 plinth/templates/base.html:194
msgid "Shut down"
msgstr "Завершить работу"
-#: plinth/templates/base.html:203 plinth/templates/base.html:241
+#: plinth/templates/base.html:204 plinth/templates/base.html:242
msgid "Log out"
msgstr "Выход"
-#: plinth/templates/base.html:212 plinth/templates/base.html:215
+#: plinth/templates/base.html:213 plinth/templates/base.html:216
msgid "Select language"
msgstr "Выбрать язык"
-#: plinth/templates/base.html:230 plinth/templates/base.html:232
+#: plinth/templates/base.html:231 plinth/templates/base.html:233
msgid "Log in"
msgstr "Войти"
@@ -10848,7 +10878,7 @@ msgstr "Здесь"
msgid "Setting unchanged"
msgstr "Настройки без изменений"
-#: plinth/views.py:658
+#: plinth/views.py:654
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "перед удалением {app_id}"
@@ -12448,9 +12478,6 @@ msgstr "Гуджарати"
#~ msgid "You don't have any Custom Services enabled"
#~ msgstr "У вас нет включенных пользовательских служб"
-#~ msgid "Standard Services"
-#~ msgstr "Стандартные службы"
-
#, fuzzy
#~| msgid ""
#~| "When enabled, Syncthing's web interface will be available from \n"
"Language-Team: Sinhala \n"
"Language-Team: Slovenian \n"
"Language-Team: Albanian Luanti client is needed."
msgstr ""
-"Luanti, i njohur dikur si Minetest, është një bankëprovë blloqesh lojërash “"
-"botë e pafundme” me shumë lojtarë. Ky modul i bën të mundur shërbyesit "
+"Luanti, i njohur dikur si Minetest, është një bankëprovë blloqesh lojërash "
+"“botë e pafundme” me shumë lojtarë. Ky modul i bën të mundur shërbyesit "
"Luanti të xhirojë mbi këtë {box_name}, në portën parazgjedhje (30000). Që të "
"lidheni me shërbyesin, lypset një klient Luanti."
@@ -5201,7 +5201,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:40
#: plinth/modules/wireguard/templates/wireguard_show_client.html:72
#: plinth/modules/wireguard/templates/wireguard_show_server.html:73
-#: plinth/templates/base.html:171 plinth/templates/base.html:172
+#: plinth/templates/base.html:172 plinth/templates/base.html:173
msgid "Edit"
msgstr "Përpunoni"
@@ -6934,8 +6934,8 @@ msgstr "Rinisu"
msgid "Shutdown"
msgstr "Fike"
-#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:186
-#: plinth/templates/base.html:187
+#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
+#: plinth/templates/base.html:188
msgid "Restart"
msgstr "Rinise"
@@ -9928,7 +9928,7 @@ msgstr "Kyç i pavlefshëm."
#: plinth/modules/wireguard/forms.py:61
#: plinth/modules/wireguard/templates/wireguard.html:17
-#: plinth/modules/wireguard/templates/wireguard.html:77
+#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:24
msgid "Public Key"
msgstr "Kyç Publik"
@@ -10035,7 +10035,7 @@ msgid "Allowed IPs"
msgstr "IP të Lejuara"
#: plinth/modules/wireguard/templates/wireguard.html:19
-#: plinth/modules/wireguard/templates/wireguard.html:78
+#: plinth/modules/wireguard/templates/wireguard.html:102
msgid "Last Connected Time"
msgstr "Kohë e Lidhjes së Fundit"
@@ -10049,47 +10049,65 @@ msgstr "Ende s’ka ortakë të formësuar për t’u lidhur te ky %(box_name)s.
msgid "Public key for this %(box_name)s:"
msgstr "Kyç publik për këtë %(box_name)s:"
-#: plinth/modules/wireguard/templates/wireguard.html:54
+#: plinth/modules/wireguard/templates/wireguard.html:55
+#: plinth/modules/wireguard/templates/wireguard.html:67
msgid "Not configured yet."
msgstr "Ende e paformësuar."
#: plinth/modules/wireguard/templates/wireguard.html:59
+#, fuzzy, python-format
+#| msgid "Public key for this %(box_name)s:"
+msgid "Endpoints for this %(box_name)s:"
+msgstr "Kyç publik për këtë %(box_name)s:"
+
+#: plinth/modules/wireguard/templates/wireguard.html:75
+#: plinth/modules/wireguard/templates/wireguard.html:77
+msgid "Start WireGuard Server"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard.html:81
msgid "Add a new peer"
msgstr "Shtoni ortak të ri"
-#: plinth/modules/wireguard/templates/wireguard.html:63
-#: plinth/modules/wireguard/views.py:48
+#: plinth/modules/wireguard/templates/wireguard.html:85
+#: plinth/modules/wireguard/views.py:59
msgid "Add Allowed Client"
msgstr "Shtoni Klient të Lejuar"
-#: plinth/modules/wireguard/templates/wireguard.html:67
+#: plinth/modules/wireguard/templates/wireguard.html:91
msgid "As a Client"
msgstr "Si Klient"
-#: plinth/modules/wireguard/templates/wireguard.html:69
+#: plinth/modules/wireguard/templates/wireguard.html:93
#, python-format
msgid "Servers that %(box_name)s will connect to:"
msgstr "Shërbyes me të cilët do të lidhet %(box_name)s:"
-#: plinth/modules/wireguard/templates/wireguard.html:76
+#: plinth/modules/wireguard/templates/wireguard.html:100
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:20
msgid "Endpoint"
msgstr "Pikëmbarim"
-#: plinth/modules/wireguard/templates/wireguard.html:100
+#: plinth/modules/wireguard/templates/wireguard.html:124
msgid "No connections to remote servers are configured yet."
msgstr "S’janë formësuar ende lidhje te shërbyes të largët."
-#: plinth/modules/wireguard/templates/wireguard.html:110
+#: plinth/modules/wireguard/templates/wireguard.html:134
msgid "Add a new server"
msgstr "Shtoni një shërbyes të ri"
-#: plinth/modules/wireguard/templates/wireguard.html:114
-#: plinth/modules/wireguard/views.py:157
+#: plinth/modules/wireguard/templates/wireguard.html:138
+#: plinth/modules/wireguard/views.py:178
msgid "Add Connection to Server"
msgstr "Shtoni Lidhje me Shërbyesin"
-#: plinth/modules/wireguard/templates/wireguard_add_client.html:19
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:21
+#, fuzzy
+#| msgid "IP address to use for client:"
+msgid "IP address that will be assigned to this client"
+msgstr "Adresë IP për t’u përdorur për klientin:"
+
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:31
msgid "Add Client"
msgstr "Shtoni Klient"
@@ -10178,62 +10196,72 @@ msgstr "Kyç publik i kësaj makine:"
msgid "IP address of this machine:"
msgstr "Adresë IP e kësaj makine:"
-#: plinth/modules/wireguard/views.py:43
+#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
msgstr "U shtua klient i ri."
-#: plinth/modules/wireguard/views.py:58 plinth/modules/wireguard/views.py:117
+#: plinth/modules/wireguard/views.py:79 plinth/modules/wireguard/views.py:138
msgid "Client with public key already exists"
msgstr "Ka tashmë klient me kyç publik"
-#: plinth/modules/wireguard/views.py:71
+#: plinth/modules/wireguard/views.py:92
msgid "Allowed Client"
msgstr "Klient i Lejuar"
-#: plinth/modules/wireguard/views.py:93
+#: plinth/modules/wireguard/views.py:114
msgid "Updated client."
msgstr "Klienti u përditësua."
-#: plinth/modules/wireguard/views.py:98
+#: plinth/modules/wireguard/views.py:119
msgid "Modify Client"
msgstr "Ndryshoni Klientin"
-#: plinth/modules/wireguard/views.py:131
+#: plinth/modules/wireguard/views.py:152
msgid "Delete Allowed Client"
msgstr "Fshi Klientin e Lejuar"
-#: plinth/modules/wireguard/views.py:140
+#: plinth/modules/wireguard/views.py:161
msgid "Client deleted."
msgstr "Klienti u fshi."
-#: plinth/modules/wireguard/views.py:142
+#: plinth/modules/wireguard/views.py:163
msgid "Client not found"
msgstr "S’u gjet klient"
-#: plinth/modules/wireguard/views.py:152
+#: plinth/modules/wireguard/views.py:173
msgid "Added new server."
msgstr "U shtua shërbyes i ri."
-#: plinth/modules/wireguard/views.py:173
+#: plinth/modules/wireguard/views.py:194
msgid "Connection to Server"
msgstr "Lidhje me Shërbyesin"
-#: plinth/modules/wireguard/views.py:191
+#: plinth/modules/wireguard/views.py:212
msgid "Updated server."
msgstr "Shërbyesi u përditësua."
-#: plinth/modules/wireguard/views.py:196
+#: plinth/modules/wireguard/views.py:217
msgid "Modify Connection to Server"
msgstr "Ndryshoni Lidhjen me Shërbyesin"
-#: plinth/modules/wireguard/views.py:233
+#: plinth/modules/wireguard/views.py:254
msgid "Delete Connection to Server"
msgstr "Fshije Lidhjen me Shërbyesin"
-#: plinth/modules/wireguard/views.py:253
+#: plinth/modules/wireguard/views.py:274
msgid "Server deleted."
msgstr "Shërbyesi u fshi."
+#: plinth/modules/wireguard/views.py:286
+#, fuzzy
+#| msgid "Password changed successfully."
+msgid "WireGuard server started successfully."
+msgstr "Fjalëkalimi u ndryshua me sukses."
+
+#: plinth/modules/wireguard/views.py:290
+msgid "Failed to start WireGuard server: {}"
+msgstr ""
+
#: plinth/modules/wordpress/__init__.py:20
msgid ""
"WordPress is a popular way to create and manage websites and blogs. Content "
@@ -10595,35 +10623,35 @@ msgstr ""
"pronësi të dhënash. Është software i lirë, që ju lejon të instaloni dhe "
"administroni kollaj aplikacione shërbyesi."
-#: plinth/templates/base.html:120
+#: plinth/templates/base.html:121
msgid " Home"
msgstr " Kreu"
-#: plinth/templates/base.html:128
+#: plinth/templates/base.html:129
msgid " Apps"
msgstr " Aplikacione"
-#: plinth/templates/base.html:137
+#: plinth/templates/base.html:138
msgid " System"
msgstr " Sistem"
-#: plinth/templates/base.html:178 plinth/templates/base.html:179
+#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Change password"
msgstr "Ndryshoni fjalëkalimin"
-#: plinth/templates/base.html:192 plinth/templates/base.html:193
+#: plinth/templates/base.html:193 plinth/templates/base.html:194
msgid "Shut down"
msgstr "Fike"
-#: plinth/templates/base.html:203 plinth/templates/base.html:241
+#: plinth/templates/base.html:204 plinth/templates/base.html:242
msgid "Log out"
msgstr "Dil"
-#: plinth/templates/base.html:212 plinth/templates/base.html:215
+#: plinth/templates/base.html:213 plinth/templates/base.html:216
msgid "Select language"
msgstr "Përzgjidhni gjuhën"
-#: plinth/templates/base.html:230 plinth/templates/base.html:232
+#: plinth/templates/base.html:231 plinth/templates/base.html:233
msgid "Log in"
msgstr "Hyni"
@@ -10888,7 +10916,7 @@ msgstr "Këtu"
msgid "Setting unchanged"
msgstr "Rregullim i pandryshuar"
-#: plinth/views.py:658
+#: plinth/views.py:654
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "para çinstalimit të {app_id}"
diff --git a/plinth/locale/sr/LC_MESSAGES/django.po b/plinth/locale/sr/LC_MESSAGES/django.po
index 184fb22e6..eca20e294 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-16 01:18+0000\n"
+"POT-Creation-Date: 2026-02-03 01:14+0000\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Serbian \n"
"Language-Team: Swedish /syncthing. Desktop and mobile "
diff --git a/plinth/locale/ta/LC_MESSAGES/django.po b/plinth/locale/ta/LC_MESSAGES/django.po
index f0779d6c5..cd36c6c06 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-16 01:18+0000\n"
+"POT-Creation-Date: 2026-02-03 01:14+0000\n"
"PO-Revision-Date: 2025-08-17 08:02+0000\n"
"Last-Translator: தமிழ்நேரம் \n"
"Language-Team: Tamil \n"
"Language-Team: Telugu \n"
"Language-Team: Turkish "
-"Luanti istemcisi gereklidir."
+"Sunucuya bağlanmak için bir Luanti istemcisi gereklidir."
#: plinth/modules/minetest/__init__.py:57 plinth/modules/minetest/manifest.py:9
msgid "Luanti"
@@ -5168,7 +5168,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:40
#: plinth/modules/wireguard/templates/wireguard_show_client.html:72
#: plinth/modules/wireguard/templates/wireguard_show_server.html:73
-#: plinth/templates/base.html:171 plinth/templates/base.html:172
+#: plinth/templates/base.html:172 plinth/templates/base.html:173
msgid "Edit"
msgstr "Düzenle"
@@ -6891,8 +6891,8 @@ msgstr "Baştan başlat"
msgid "Shutdown"
msgstr "Kapat"
-#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:186
-#: plinth/templates/base.html:187
+#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
+#: plinth/templates/base.html:188
msgid "Restart"
msgstr "Yeniden başlat"
@@ -9863,7 +9863,7 @@ msgstr "Geçersiz anahtar."
#: plinth/modules/wireguard/forms.py:61
#: plinth/modules/wireguard/templates/wireguard.html:17
-#: plinth/modules/wireguard/templates/wireguard.html:77
+#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:24
msgid "Public Key"
msgstr "Ortak Anahtar"
@@ -9967,7 +9967,7 @@ msgid "Allowed IPs"
msgstr "İzin verilen IP'ler"
#: plinth/modules/wireguard/templates/wireguard.html:19
-#: plinth/modules/wireguard/templates/wireguard.html:78
+#: plinth/modules/wireguard/templates/wireguard.html:102
msgid "Last Connected Time"
msgstr "Son Bağlanma Zamanı"
@@ -9982,47 +9982,67 @@ msgstr ""
msgid "Public key for this %(box_name)s:"
msgstr "Bu %(box_name)s için ortak anahtar:"
-#: plinth/modules/wireguard/templates/wireguard.html:54
+#: plinth/modules/wireguard/templates/wireguard.html:55
+#: plinth/modules/wireguard/templates/wireguard.html:67
msgid "Not configured yet."
msgstr "Henüz yapılandırılmadı."
#: plinth/modules/wireguard/templates/wireguard.html:59
+#, fuzzy, python-format
+#| msgid "Public key for this %(box_name)s:"
+msgid "Endpoints for this %(box_name)s:"
+msgstr "Bu %(box_name)s için ortak anahtar:"
+
+#: plinth/modules/wireguard/templates/wireguard.html:75
+#: plinth/modules/wireguard/templates/wireguard.html:77
+#, fuzzy
+#| msgid "Standard Services"
+msgid "Start WireGuard Server"
+msgstr "Standart Servisler"
+
+#: plinth/modules/wireguard/templates/wireguard.html:81
msgid "Add a new peer"
msgstr "Yeni bir kişi ekle"
-#: plinth/modules/wireguard/templates/wireguard.html:63
-#: plinth/modules/wireguard/views.py:48
+#: plinth/modules/wireguard/templates/wireguard.html:85
+#: plinth/modules/wireguard/views.py:59
msgid "Add Allowed Client"
msgstr "İzin Verilen İstemci Ekle"
-#: plinth/modules/wireguard/templates/wireguard.html:67
+#: plinth/modules/wireguard/templates/wireguard.html:91
msgid "As a Client"
msgstr "Bir İstemci Olarak"
-#: plinth/modules/wireguard/templates/wireguard.html:69
+#: plinth/modules/wireguard/templates/wireguard.html:93
#, python-format
msgid "Servers that %(box_name)s will connect to:"
msgstr "%(box_name)s cihazının bağlanacağı sunucular:"
-#: plinth/modules/wireguard/templates/wireguard.html:76
+#: plinth/modules/wireguard/templates/wireguard.html:100
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:20
msgid "Endpoint"
msgstr "Uç nokta"
-#: plinth/modules/wireguard/templates/wireguard.html:100
+#: plinth/modules/wireguard/templates/wireguard.html:124
msgid "No connections to remote servers are configured yet."
msgstr "Henüz uzak sunuculara yapılandırılan bağlantılar yok."
-#: plinth/modules/wireguard/templates/wireguard.html:110
+#: plinth/modules/wireguard/templates/wireguard.html:134
msgid "Add a new server"
msgstr "Yeni bir sunucu ekleyin"
-#: plinth/modules/wireguard/templates/wireguard.html:114
-#: plinth/modules/wireguard/views.py:157
+#: plinth/modules/wireguard/templates/wireguard.html:138
+#: plinth/modules/wireguard/views.py:178
msgid "Add Connection to Server"
msgstr "Sunucuya Bağlantı Ekle"
-#: plinth/modules/wireguard/templates/wireguard_add_client.html:19
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:21
+#, fuzzy
+#| msgid "IP address to use for client:"
+msgid "IP address that will be assigned to this client"
+msgstr "İstemci için kullanılacak IP adresi:"
+
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:31
msgid "Add Client"
msgstr "İstemci Ekle"
@@ -10111,62 +10131,72 @@ msgstr "Bu makinenin ortak anahtarı:"
msgid "IP address of this machine:"
msgstr "Bu makinenin IP adresi:"
-#: plinth/modules/wireguard/views.py:43
+#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
msgstr "Yeni istemci eklendi."
-#: plinth/modules/wireguard/views.py:58 plinth/modules/wireguard/views.py:117
+#: plinth/modules/wireguard/views.py:79 plinth/modules/wireguard/views.py:138
msgid "Client with public key already exists"
msgstr "Ortak anahtara sahip istemci zaten var"
-#: plinth/modules/wireguard/views.py:71
+#: plinth/modules/wireguard/views.py:92
msgid "Allowed Client"
msgstr "İzin Verilen İstemci"
-#: plinth/modules/wireguard/views.py:93
+#: plinth/modules/wireguard/views.py:114
msgid "Updated client."
msgstr "İstemci güncellendi."
-#: plinth/modules/wireguard/views.py:98
+#: plinth/modules/wireguard/views.py:119
msgid "Modify Client"
msgstr "İstemciyi Değiştir"
-#: plinth/modules/wireguard/views.py:131
+#: plinth/modules/wireguard/views.py:152
msgid "Delete Allowed Client"
msgstr "İzin Verilen İstemciyi Sil"
-#: plinth/modules/wireguard/views.py:140
+#: plinth/modules/wireguard/views.py:161
msgid "Client deleted."
msgstr "İstemci silindi."
-#: plinth/modules/wireguard/views.py:142
+#: plinth/modules/wireguard/views.py:163
msgid "Client not found"
msgstr "İstemci bulunamadı"
-#: plinth/modules/wireguard/views.py:152
+#: plinth/modules/wireguard/views.py:173
msgid "Added new server."
msgstr "Yeni sunucu eklendi."
-#: plinth/modules/wireguard/views.py:173
+#: plinth/modules/wireguard/views.py:194
msgid "Connection to Server"
msgstr "Sunucuya Bağlantı"
-#: plinth/modules/wireguard/views.py:191
+#: plinth/modules/wireguard/views.py:212
msgid "Updated server."
msgstr "Sunucu güncellendi."
-#: plinth/modules/wireguard/views.py:196
+#: plinth/modules/wireguard/views.py:217
msgid "Modify Connection to Server"
msgstr "Sunucuya Bağlantıyı Değiştir"
-#: plinth/modules/wireguard/views.py:233
+#: plinth/modules/wireguard/views.py:254
msgid "Delete Connection to Server"
msgstr "Sunucuya Bağlantıyı Sil"
-#: plinth/modules/wireguard/views.py:253
+#: plinth/modules/wireguard/views.py:274
msgid "Server deleted."
msgstr "Sunucu silindi."
+#: plinth/modules/wireguard/views.py:286
+#, fuzzy
+#| msgid "Password changed successfully."
+msgid "WireGuard server started successfully."
+msgstr "Parola başarılı olarak değiştirildi."
+
+#: plinth/modules/wireguard/views.py:290
+msgid "Failed to start WireGuard server: {}"
+msgstr ""
+
#: plinth/modules/wordpress/__init__.py:20
msgid ""
"WordPress is a popular way to create and manage websites and blogs. Content "
@@ -10525,35 +10555,35 @@ msgstr ""
"sunucudur. Sunucu uygulamalarını kolaylıkla yüklemenizi ve yönetmenizi "
"sağlayan özgür bir yazılımdır."
-#: plinth/templates/base.html:120
+#: plinth/templates/base.html:121
msgid " Home"
msgstr " Giriş"
-#: plinth/templates/base.html:128
+#: plinth/templates/base.html:129
msgid " Apps"
msgstr " Uygulamalar"
-#: plinth/templates/base.html:137
+#: plinth/templates/base.html:138
msgid " System"
msgstr " Sistem"
-#: plinth/templates/base.html:178 plinth/templates/base.html:179
+#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Change password"
msgstr "Parolayı değiştir"
-#: plinth/templates/base.html:192 plinth/templates/base.html:193
+#: plinth/templates/base.html:193 plinth/templates/base.html:194
msgid "Shut down"
msgstr "Kapat"
-#: plinth/templates/base.html:203 plinth/templates/base.html:241
+#: plinth/templates/base.html:204 plinth/templates/base.html:242
msgid "Log out"
msgstr "Oturumu kapat"
-#: plinth/templates/base.html:212 plinth/templates/base.html:215
+#: plinth/templates/base.html:213 plinth/templates/base.html:216
msgid "Select language"
msgstr "Dil seçin"
-#: plinth/templates/base.html:230 plinth/templates/base.html:232
+#: plinth/templates/base.html:231 plinth/templates/base.html:233
msgid "Log in"
msgstr "Oturum aç"
@@ -10819,7 +10849,7 @@ msgstr "Burada"
msgid "Setting unchanged"
msgstr "Ayar değişmedi"
-#: plinth/views.py:658
+#: plinth/views.py:654
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "{app_id} kaldırılmadan önce"
@@ -12440,9 +12470,6 @@ msgstr "Gujarati"
#~ msgid "You don't have any Custom Services enabled"
#~ msgstr "Hiçbir etkin Özel Servisiniz yok"
-#~ msgid "Standard Services"
-#~ msgstr "Standart Servisler"
-
#, fuzzy
#~| msgid ""
#~| "When enabled, Syncthing's web interface will be available from \n"
"Language-Team: Ukrainian \n"
"Language-Team: Vietnamese \n"
@@ -103,15 +103,15 @@ msgstr "此 web 管理界面的语言"
msgid "Use the language preference set in the browser"
msgstr "使用浏览器中设置的语言首选项"
-#: plinth/menu.py:116 plinth/templates/base.html:123
+#: plinth/menu.py:116 plinth/templates/base.html:124
msgid "Home"
msgstr "主页"
-#: plinth/menu.py:117 plinth/templates/base.html:132
+#: plinth/menu.py:117 plinth/templates/base.html:133
msgid "Apps"
msgstr "应用程序"
-#: plinth/menu.py:119 plinth/menu.py:126 plinth/templates/base.html:141
+#: plinth/menu.py:119 plinth/menu.py:126 plinth/templates/base.html:142
msgid "System"
msgstr "系统"
@@ -3097,8 +3097,8 @@ msgstr ""
msgid "Contribute"
msgstr "贡献"
-#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:221
-#: plinth/templates/base.html:224 plinth/templates/help-menu.html:46
+#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
+#: plinth/templates/base.html:225 plinth/templates/help-menu.html:46
#: plinth/templates/help-menu.html:47 plinth/templates/index.html:96
msgid "About"
msgstr "关于"
@@ -3667,7 +3667,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:204
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
-#: plinth/templates/base.html:277
+#: plinth/templates/base.html:282
msgid "JavaScript license information"
msgstr ""
@@ -4727,7 +4727,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:40
#: plinth/modules/wireguard/templates/wireguard_show_client.html:72
#: plinth/modules/wireguard/templates/wireguard_show_server.html:73
-#: plinth/templates/base.html:171 plinth/templates/base.html:172
+#: plinth/templates/base.html:172 plinth/templates/base.html:173
msgid "Edit"
msgstr "編輯"
@@ -6279,8 +6279,8 @@ msgstr ""
msgid "Shutdown"
msgstr "关闭"
-#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:186
-#: plinth/templates/base.html:187
+#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
+#: plinth/templates/base.html:188
msgid "Restart"
msgstr "重新启动"
@@ -8870,7 +8870,7 @@ msgstr "无效的密钥。"
#: plinth/modules/wireguard/forms.py:61
#: plinth/modules/wireguard/templates/wireguard.html:17
-#: plinth/modules/wireguard/templates/wireguard.html:77
+#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:24
msgid "Public Key"
msgstr "公钥"
@@ -8960,7 +8960,7 @@ msgid "Allowed IPs"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:19
-#: plinth/modules/wireguard/templates/wireguard.html:78
+#: plinth/modules/wireguard/templates/wireguard.html:102
msgid "Last Connected Time"
msgstr "上次连接时间"
@@ -8974,47 +8974,64 @@ msgstr ""
msgid "Public key for this %(box_name)s:"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:54
+#: plinth/modules/wireguard/templates/wireguard.html:55
+#: plinth/modules/wireguard/templates/wireguard.html:67
msgid "Not configured yet."
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:59
+#, python-format
+msgid "Endpoints for this %(box_name)s:"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard.html:75
+#: plinth/modules/wireguard/templates/wireguard.html:77
+#, fuzzy
+#| msgid "Standard Services"
+msgid "Start WireGuard Server"
+msgstr "标准服务"
+
+#: plinth/modules/wireguard/templates/wireguard.html:81
msgid "Add a new peer"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:63
-#: plinth/modules/wireguard/views.py:48
+#: plinth/modules/wireguard/templates/wireguard.html:85
+#: plinth/modules/wireguard/views.py:59
msgid "Add Allowed Client"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:67
+#: plinth/modules/wireguard/templates/wireguard.html:91
msgid "As a Client"
msgstr "作为客户端"
-#: plinth/modules/wireguard/templates/wireguard.html:69
+#: plinth/modules/wireguard/templates/wireguard.html:93
#, python-format
msgid "Servers that %(box_name)s will connect to:"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:76
+#: plinth/modules/wireguard/templates/wireguard.html:100
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:20
msgid "Endpoint"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:100
+#: plinth/modules/wireguard/templates/wireguard.html:124
msgid "No connections to remote servers are configured yet."
msgstr "尚未配置到远程服务器的连接。"
-#: plinth/modules/wireguard/templates/wireguard.html:110
+#: plinth/modules/wireguard/templates/wireguard.html:134
msgid "Add a new server"
msgstr ""
-#: plinth/modules/wireguard/templates/wireguard.html:114
-#: plinth/modules/wireguard/views.py:157
+#: plinth/modules/wireguard/templates/wireguard.html:138
+#: plinth/modules/wireguard/views.py:178
msgid "Add Connection to Server"
msgstr "添加到服务器的连接"
-#: plinth/modules/wireguard/templates/wireguard_add_client.html:19
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:21
+msgid "IP address that will be assigned to this client"
+msgstr ""
+
+#: plinth/modules/wireguard/templates/wireguard_add_client.html:31
msgid "Add Client"
msgstr "添加客户端"
@@ -9098,62 +9115,72 @@ msgstr ""
msgid "IP address of this machine:"
msgstr ""
-#: plinth/modules/wireguard/views.py:43
+#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
msgstr ""
-#: plinth/modules/wireguard/views.py:58 plinth/modules/wireguard/views.py:117
+#: plinth/modules/wireguard/views.py:79 plinth/modules/wireguard/views.py:138
msgid "Client with public key already exists"
msgstr "已存在有公钥的客户端"
-#: plinth/modules/wireguard/views.py:71
+#: plinth/modules/wireguard/views.py:92
msgid "Allowed Client"
msgstr "允许的客户端"
-#: plinth/modules/wireguard/views.py:93
+#: plinth/modules/wireguard/views.py:114
msgid "Updated client."
msgstr "已更新客户端。"
-#: plinth/modules/wireguard/views.py:98
+#: plinth/modules/wireguard/views.py:119
msgid "Modify Client"
msgstr "更改客户端"
-#: plinth/modules/wireguard/views.py:131
+#: plinth/modules/wireguard/views.py:152
msgid "Delete Allowed Client"
msgstr "删除允许的客户端"
-#: plinth/modules/wireguard/views.py:140
+#: plinth/modules/wireguard/views.py:161
msgid "Client deleted."
msgstr "客户端已删除。"
-#: plinth/modules/wireguard/views.py:142
+#: plinth/modules/wireguard/views.py:163
msgid "Client not found"
msgstr "未找到客户端"
-#: plinth/modules/wireguard/views.py:152
+#: plinth/modules/wireguard/views.py:173
msgid "Added new server."
msgstr "添加新服务器。"
-#: plinth/modules/wireguard/views.py:173
+#: plinth/modules/wireguard/views.py:194
msgid "Connection to Server"
msgstr "连接到服务器"
-#: plinth/modules/wireguard/views.py:191
+#: plinth/modules/wireguard/views.py:212
msgid "Updated server."
msgstr "已更新服务器。"
-#: plinth/modules/wireguard/views.py:196
+#: plinth/modules/wireguard/views.py:217
msgid "Modify Connection to Server"
msgstr "修改到服务器的连接"
-#: plinth/modules/wireguard/views.py:233
+#: plinth/modules/wireguard/views.py:254
msgid "Delete Connection to Server"
msgstr "删除与服务器的连接"
-#: plinth/modules/wireguard/views.py:253
+#: plinth/modules/wireguard/views.py:274
msgid "Server deleted."
msgstr "服务器已删除。"
+#: plinth/modules/wireguard/views.py:286
+#, fuzzy
+#| msgid "Password changed successfully."
+msgid "WireGuard server started successfully."
+msgstr "已成功更改密码。"
+
+#: plinth/modules/wireguard/views.py:290
+msgid "Failed to start WireGuard server: {}"
+msgstr ""
+
#: plinth/modules/wordpress/__init__.py:20
msgid ""
"WordPress is a popular way to create and manage websites and blogs. Content "
@@ -9469,35 +9496,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: plinth/templates/base.html:120
+#: plinth/templates/base.html:121
msgid " Home"
msgstr " 主页"
-#: plinth/templates/base.html:128
+#: plinth/templates/base.html:129
msgid " Apps"
msgstr " 应用程序"
-#: plinth/templates/base.html:137
+#: plinth/templates/base.html:138
msgid " System"
msgstr " 系统"
-#: plinth/templates/base.html:178 plinth/templates/base.html:179
+#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Change password"
msgstr "更改密码"
-#: plinth/templates/base.html:192 plinth/templates/base.html:193
+#: plinth/templates/base.html:193 plinth/templates/base.html:194
msgid "Shut down"
msgstr "关闭"
-#: plinth/templates/base.html:203 plinth/templates/base.html:241
+#: plinth/templates/base.html:204 plinth/templates/base.html:242
msgid "Log out"
msgstr "登出"
-#: plinth/templates/base.html:212 plinth/templates/base.html:215
+#: plinth/templates/base.html:213 plinth/templates/base.html:216
msgid "Select language"
msgstr "选择语言"
-#: plinth/templates/base.html:230 plinth/templates/base.html:232
+#: plinth/templates/base.html:231 plinth/templates/base.html:233
msgid "Log in"
msgstr "登录"
@@ -9745,7 +9772,7 @@ msgstr ""
msgid "Setting unchanged"
msgstr "设置未改变"
-#: plinth/views.py:658
+#: plinth/views.py:654
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@@ -10832,9 +10859,6 @@ msgstr "古吉拉特语"
#~ msgid "You don't have any Custom Services enabled"
#~ msgstr "你没有启用任何自定义服务"
-#~ msgid "Standard Services"
-#~ msgstr "标准服务"
-
#~ msgid "Tor is running"
#~ msgstr "Tor 正在运行"
diff --git a/plinth/locale/zh_Hant/LC_MESSAGES/django.po b/plinth/locale/zh_Hant/LC_MESSAGES/django.po
index d2f596094..9dc1ca54d 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-16 01:18+0000\n"
+"POT-Creation-Date: 2026-02-03 01:14+0000\n"
"PO-Revision-Date: 2025-02-07 12:01+0000\n"
"Last-Translator: pesder \n"
"Language-Team: Chinese (Traditional Han script)
Date: Mon, 2 Feb 2026 20:41:02 -0500
Subject: [PATCH 022/127] doc: Fetch latest manual
Signed-off-by: James Valleroy
---
doc/manual/en/Hardware.raw.wiki | 12 +++++++++++-
doc/manual/en/PioneerEdition.raw.wiki | 3 ++-
doc/manual/en/ReleaseNotes.raw.wiki | 25 +++++++++++++++++++++++++
doc/manual/en/Sharing.raw.wiki | 16 +++++++---------
doc/manual/en/images/libre-crafts.png | Bin 0 -> 83013 bytes
doc/manual/es/ReleaseNotes.raw.wiki | 25 +++++++++++++++++++++++++
6 files changed, 70 insertions(+), 11 deletions(-)
create mode 100644 doc/manual/en/images/libre-crafts.png
diff --git a/doc/manual/en/Hardware.raw.wiki b/doc/manual/en/Hardware.raw.wiki
index fa91d668d..7dfb6cabb 100644
--- a/doc/manual/en/Hardware.raw.wiki
+++ b/doc/manual/en/Hardware.raw.wiki
@@ -12,7 +12,17 @@ In addition to supporting various single board computers and other devices, any
== Recommended Hardware ==
-On April 22nd, 2019, the !FreedomBox Foundation announced the [[https://freedomboxfoundation.org/buy/|sales]] of the Pioneer Edition !FreedomBox Home Server Kits. This is the recommended pre-installed hardware for all users who don't wish to build their own !FreedomBox by choosing the right components, downloading the image and preparing an SD card with !FreedomBox.
+=== Libre Crafts FreedomBox ===
+
+Libre Crafts in an endeavor from the !FreedomBox developers themselves to bring you a powerful !FreedomBox device capable of hosting even the most demanding home server needs. The device is crafted, tested, and delivered to you by !FreedomBox developers. Your purchase helps !FreedomBox development.
+
+This hardware features a powerful CPU, plenty of main memory, a fast OS disk, ability to add two high capacity hard disk drives, dual multi-gigabit Ethernet ports, all with a low power consumption. Use it to host all your photos, to backup all home devices, as a NAS, as home automation hub, as a desktop computer, and more all at once.
+
+||