From cd3e70ede680e9b2ce9a487fdefee76f8559fd3e Mon Sep 17 00:00:00 2001 From: Eduardo Silva Date: Mon, 9 Feb 2026 22:07:48 -0300 Subject: [PATCH] update translations --- locale/de/LC_MESSAGES/django.mo | Bin 73856 -> 76254 bytes locale/de/LC_MESSAGES/django.po | 257 ++++++++++++++++++----------- locale/es/LC_MESSAGES/django.mo | Bin 72515 -> 74575 bytes locale/es/LC_MESSAGES/django.po | 246 +++++++++++++++++---------- locale/fr/LC_MESSAGES/django.mo | Bin 74811 -> 76904 bytes locale/fr/LC_MESSAGES/django.po | 245 +++++++++++++++++---------- locale/pt_BR/LC_MESSAGES/django.mo | Bin 74797 -> 76855 bytes locale/pt_BR/LC_MESSAGES/django.po | 246 +++++++++++++++++---------- locale/sk/LC_MESSAGES/django.mo | Bin 74004 -> 76071 bytes locale/sk/LC_MESSAGES/django.po | 242 +++++++++++++++++---------- 10 files changed, 805 insertions(+), 431 deletions(-) diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo index fdea9d809862aaab5e7255891114e6f68edd238f..745e8f799bdc4e06f0548966837551f99fd031aa 100644 GIT binary patch delta 14804 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 diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index f955266..a44e5a9 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-09 20:13-0300\n" +"POT-Creation-Date: 2026-02-09 22:07-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,51 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cluster/forms.py:18 dns/forms.py:111 routing_templates/forms.py:28 +#: api_v2/forms.py:29 cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 +#: dns/forms.py:67 dns/forms.py:109 routing_templates/forms.py:36 +#: templates/firewall/manage_firewall_rule.html:380 +#: templates/firewall/manage_firewall_settings.html:60 +#: templates/firewall/manage_redirect_rule.html:85 +#: templates/wireguard/apply_route_template.html:63 +#: templates/wireguard/peer_list/peer_preview_modal.html:79 +#: templates/wireguard/wireguard_manage_ip.html:42 user_manager/forms.py:49 +#: user_manager/forms.py:180 vpn_invite/forms.py:192 vpn_invite/forms.py:326 +#: wireguard/forms.py:51 wireguard_peer/forms.py:27 wireguard_peer/forms.py:156 +#: wireguard_peer/forms.py:210 +msgid "Back" +msgstr "Zurück" + +#: api_v2/forms.py:30 cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 +#: routing_templates/forms.py:37 +#: templates/firewall/manage_firewall_rule.html:382 +#: templates/firewall/manage_redirect_rule.html:86 +#: templates/scheduler/scheduleprofile_form.html:127 +#: templates/scheduler/scheduleprofile_list.html:29 +#: templates/wireguard/peer_list/peer_preview_modal.html:109 +#: templates/wireguard/wireguard_manage_ip.html:43 user_manager/forms.py:48 +#: user_manager/forms.py:181 wireguard/forms.py:52 +msgid "Delete" +msgstr "Löschen" + +#: api_v2/forms.py:31 +msgid "Regenerate Token" +msgstr "Token regenerieren" + +#: api_v2/forms.py:63 cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 +#: dns/forms.py:83 dns/forms.py:134 routing_templates/forms.py:71 +#: scheduler/forms.py:102 templates/firewall/manage_firewall_rule.html:379 +#: templates/firewall/manage_firewall_settings.html:59 +#: templates/firewall/manage_redirect_rule.html:84 +#: templates/scheduler/scheduleprofile_form.html:200 +#: templates/wireguard/wireguard_manage_ip.html:41 user_manager/forms.py:98 +#: user_manager/forms.py:205 vpn_invite/forms.py:191 vpn_invite/forms.py:325 +#: wireguard/forms.py:100 wireguard_peer/forms.py:26 +#: wireguard_peer/forms.py:205 +msgid "Save" +msgstr "Speichern" + +#: api_v2/models.py:10 cluster/forms.py:18 dns/forms.py:111 +#: routing_templates/forms.py:28 templates/api_v2/list.html:8 #: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 #: templates/routing_templates/list.html:8 #: templates/scheduler/scheduleprofile_list.html:13 @@ -29,11 +73,96 @@ msgstr "" msgid "Name" msgstr "Name" -#: cluster/forms.py:19 templates/cluster/workers_list.html:96 +#: api_v2/models.py:11 cluster/forms.py:25 templates/api_v2/list.html:9 +msgid "Token" +msgstr "Token" + +#: api_v2/models.py:12 templates/api_v2/list.html:10 +msgid "Allowed Instances" +msgstr "Zulässige Instanzen" + +#: api_v2/models.py:13 templates/api_v2/list.html:12 +msgid "Allow Restart" +msgstr "Neustart erlauben" + +#: api_v2/models.py:14 templates/api_v2/list.html:13 +msgid "Allow Reload" +msgstr "Neuladen erlauben" + +#: api_v2/models.py:15 templates/api_v2/list.html:14 +msgid "Allow Export" +msgstr "Export erlauben" + +#: api_v2/models.py:16 cluster/forms.py:19 templates/api_v2/list.html:11 +#: templates/api_v2/list.html:41 templates/cluster/workers_list.html:96 #: vpn_invite/forms.py:49 vpn_invite/forms.py:294 msgid "Enabled" msgstr "Aktiviert" +#: api_v2/views.py:16 api_v2/views.py:26 api_v2/views.py:81 cluster/views.py:18 +#: cluster/views.py:45 cluster/views.py:114 templates/access_denied.html:9 +msgid "Access Denied" +msgstr "Zugriff verweigert" + +#: api_v2/views.py:18 templates/template_parts/base_sidebar.html:108 +msgid "API Keys" +msgstr "API-Schlüssel" + +#: api_v2/views.py:31 +msgid "Edit API Key: " +msgstr "API-Schlüssel bearbeiten: " + +#: api_v2/views.py:34 templates/api_v2/list.html:80 +msgid "Add API Key" +msgstr "API-Schlüssel hinzufügen" + +#: api_v2/views.py:45 +msgid "Token regenerated successfully." +msgstr "Token erfolgreich regeneriert." + +#: api_v2/views.py:50 +msgid "API Key saved successfully." +msgstr "API-Schlüssel erfolgreich gespeichert." + +#: api_v2/views.py:60 +msgid "" +"\n" +"
API Keys
\n" +"

API Keys allow external applications to interact with the " +"WireGuard WebAdmin API.

\n" +"

Token: The secret token used for authentication. " +"Keep this secure.

\n" +"

Allowed Instances: The WireGuard instances this " +"key can manage. If none are selected, the key has access to ALL instances.\n" +"

Permissions: specific actions allowed for this " +"key.

\n" +" " +msgstr "" +"\n" +"
API-Schlüssel
\n" +"

API-Schlüssel ermöglichen externen Anwendungen die Interaktion " +"com a API do WireGuard WebAdmin.

\n" +"

Token: Das geheime Token für die Authentifizierung. " +"Geheim halten.

\n" +"

Zulässige Instanzen: Die WireGuard-Instanzen, die dieser " +"Schlüssel verwalten kann. Wenn keine ausgewählt sind, hat der Schlüssel Zugriff auf ALLE Instanzen.

\n" +"

Berechtigungen: spezifische Aktionen, die für diesen Schlüssel zulässig sind.

\n" +" " + +#: api_v2/views.py:87 +msgid "API Key deleted successfully." +msgstr "API-Schlüssel erfolgreich gelöscht." + +#: api_v2/views.py:92 +msgid "Delete API Key" +msgstr "API-Schlüssel löschen" + +#: api_v2/views.py:94 +#, python-format +msgid "Are you sure you want to delete the API Key \"%(name)s\"?" +msgstr "Sind Sie sicher, dass Sie den API-Schlüssel \"%(name)s\" löschen möchten?" + #: cluster/forms.py:20 msgid "IP Lock" msgstr "IP-Sperre" @@ -60,49 +189,6 @@ msgstr "Stadt" msgid "Hostname" msgstr "Hostname" -#: cluster/forms.py:25 -msgid "Token" -msgstr "Token" - -#: cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 dns/forms.py:67 -#: dns/forms.py:109 routing_templates/forms.py:36 -#: templates/firewall/manage_firewall_rule.html:380 -#: templates/firewall/manage_firewall_settings.html:60 -#: templates/firewall/manage_redirect_rule.html:85 -#: templates/wireguard/apply_route_template.html:63 -#: templates/wireguard/peer_list/peer_preview_modal.html:79 -#: templates/wireguard/wireguard_manage_ip.html:42 user_manager/forms.py:49 -#: user_manager/forms.py:180 vpn_invite/forms.py:192 vpn_invite/forms.py:326 -#: wireguard/forms.py:51 wireguard_peer/forms.py:27 wireguard_peer/forms.py:156 -#: wireguard_peer/forms.py:210 -msgid "Back" -msgstr "Zurück" - -#: cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 -#: routing_templates/forms.py:37 -#: templates/firewall/manage_firewall_rule.html:382 -#: templates/firewall/manage_redirect_rule.html:86 -#: templates/scheduler/scheduleprofile_form.html:127 -#: templates/scheduler/scheduleprofile_list.html:29 -#: templates/wireguard/peer_list/peer_preview_modal.html:109 -#: templates/wireguard/wireguard_manage_ip.html:43 user_manager/forms.py:48 -#: user_manager/forms.py:181 wireguard/forms.py:52 -msgid "Delete" -msgstr "Löschen" - -#: cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 dns/forms.py:83 -#: dns/forms.py:134 routing_templates/forms.py:70 scheduler/forms.py:102 -#: templates/firewall/manage_firewall_rule.html:379 -#: templates/firewall/manage_firewall_settings.html:59 -#: templates/firewall/manage_redirect_rule.html:84 -#: templates/scheduler/scheduleprofile_form.html:200 -#: templates/wireguard/wireguard_manage_ip.html:41 user_manager/forms.py:98 -#: user_manager/forms.py:205 vpn_invite/forms.py:191 vpn_invite/forms.py:325 -#: wireguard/forms.py:100 wireguard_peer/forms.py:26 -#: wireguard_peer/forms.py:205 -msgid "Save" -msgstr "Speichern" - #: cluster/forms.py:82 msgid "A worker with that name already exists." msgstr "Ein Worker mit diesem Namen existiert bereits." @@ -164,12 +250,7 @@ msgstr "" msgid "Worker update is required." msgstr "Ein Worker-Update ist erforderlich." -#: cluster/views.py:18 cluster/views.py:45 cluster/views.py:114 -#: templates/access_denied.html:9 -msgid "Access Denied" -msgstr "Zugriff verweigert" - -#: cluster/views.py:21 templates/template_parts/base_sidebar.html:107 +#: cluster/views.py:21 templates/template_parts/base_sidebar.html:117 msgid "Cluster" msgstr "Cluster" @@ -736,13 +817,13 @@ msgstr "Benutzerdefinierte Routen für Peers erlauben" msgid "Enforce Route Policy" msgstr "Routenrichtlinie erzwingen" -#: routing_templates/forms.py:90 +#: routing_templates/forms.py:91 msgid "Custom routes should be empty when Route Type is 'Default Route'." msgstr "" "Benutzerdefinierte Routen sollten leer sein, wenn der Routentyp " "'Standardroute' ist." -#: routing_templates/forms.py:95 +#: routing_templates/forms.py:96 msgid "" "Allowing peer custom routes is not applicable when Route Type is 'Default " "Route'." @@ -750,13 +831,13 @@ msgstr "" "Das Zulassen benutzerdefinierter Routen für Peers ist nicht anwendbar, wenn " "der Routentyp 'Standardroute' ist." -#: routing_templates/forms.py:102 +#: routing_templates/forms.py:103 msgid "At least one route must be provided when Route Type is 'Custom'." msgstr "" "Mindestens eine Route muss angegeben werden, wenn der Routentyp " "'Benutzerdefiniert' ist." -#: routing_templates/forms.py:113 routing_templates/forms.py:123 +#: routing_templates/forms.py:114 routing_templates/forms.py:124 #, python-format msgid "" "Invalid route format: '%(line)s'. Please use CIDR notation (e.g., " @@ -765,7 +846,7 @@ msgstr "" "Ungültiges Routenformat: '%(line)s'. Bitte verwenden Sie die CIDR-Notation " "(z. B. 10.0.0.0/24)." -#: routing_templates/forms.py:131 +#: routing_templates/forms.py:132 #, python-format msgid "" "The route %(route)s is not allowed. Use the 'Default Route' type instead." @@ -773,7 +854,7 @@ msgstr "" "Die Route %(route)s ist nicht zulässig. Verwenden Sie stattdessen den Typ " "'Standardroute'." -#: routing_templates/forms.py:139 +#: routing_templates/forms.py:140 #, python-format msgid "" "'%(line)s' is not a network address. Use the network address (e.g., " @@ -927,14 +1008,8 @@ msgid "Unable to validate overlaps: schedule profile is missing." msgstr "Überlappungen konnten nicht validiert werden: Zeitplanprofil fehlt." #: scheduler/forms.py:129 scheduler/forms.py:132 -#, fuzzy -#| msgid "" -#| "The difference between suspend and unsuspend times must be at least 5 " -#| "minutes." msgid "The minimum duration between start and end must be at least 10 minutes." -msgstr "" -"Die Differenz zwischen Sperr- und Reaktivierungszeit muss mindestens 5 " -"Minuten betragen." +msgstr "Die Mindestdauer zwischen Start und Ende muss mindestens 10 Minuten betragen." #: scheduler/forms.py:150 #, python-format @@ -944,11 +1019,8 @@ msgstr "" "(%(start)s → %(end)s)." #: scheduler/forms.py:160 -#, fuzzy -#| msgid "Scheduled suspension time must be at least 10 minutes in the future." msgid "There must be at least 10 minutes between time slots." -msgstr "" -"Die geplante Sperrzeit muss mindestens 10 Minuten in der Zukunft liegen." +msgstr "Zwischen den Zeitfenstern müssen mindestens 10 Minuten liegen." #: scheduler/models.py:11 msgid "Monday" @@ -1060,6 +1132,25 @@ msgstr "Sie wurden erfolgreich abgemeldet." msgid "Login again" msgstr "Erneut anmelden" +#: templates/api_v2/list.html:36 templates/user_manager/list.html:26 +msgid "All" +msgstr "Alle" + +#: templates/api_v2/list.html:43 vpn_invite/forms.py:49 +msgid "Disabled" +msgstr "Deaktiviert" + +#: templates/api_v2/list.html:68 templates/cluster/workers_list.html:77 +#: templates/dns/static_host_list.html:74 +#: templates/routing_templates/list.html:29 +#: templates/scheduler/scheduleprofile_form.html:123 +#: templates/scheduler/scheduleprofile_list.html:25 +#: templates/user_manager/list.html:53 +#: templates/user_manager/peer_group_list.html:35 +#: templates/wireguard/peer_list/peer_preview_modal.html:137 +msgid "Edit" +msgstr "Bearbeiten" + #: templates/cluster/workers_list.html:9 templates/dns/static_host_list.html:72 #: templates/scheduler/scheduleprofile_form.html:82 #: templates/template_parts/base_sidebar.html:13 vpn_invite/forms.py:78 @@ -1111,17 +1202,6 @@ msgstr "Niemals" msgid "Last seen more than 10 minutes ago or never seen." msgstr "Zuletzt vor mehr als 10 Minuten gesehen oder noch nie gesehen." -#: templates/cluster/workers_list.html:77 -#: templates/dns/static_host_list.html:74 -#: templates/routing_templates/list.html:29 -#: templates/scheduler/scheduleprofile_form.html:123 -#: templates/scheduler/scheduleprofile_list.html:25 -#: templates/user_manager/list.html:53 -#: templates/user_manager/peer_group_list.html:35 -#: templates/wireguard/peer_list/peer_preview_modal.html:137 -msgid "Edit" -msgstr "Bearbeiten" - #: templates/cluster/workers_list.html:82 msgid "No workers configured" msgstr "Keine Worker konfiguriert" @@ -1301,14 +1381,12 @@ msgid "all" msgstr "alle" #: templates/firewall/firewall_rule_list.html:69 -#, fuzzy -#| msgid "Enforce Route Policy" msgid "Automatic rule: Route Policy" -msgstr "Routenrichtlinie erzwingen" +msgstr "Automatische Regel: Routenrichtlinie" #: templates/firewall/firewall_rule_list.html:77 msgid "RETURN" -msgstr "" +msgstr "RETURN" #: templates/firewall/firewall_rule_list.html:85 #: templates/firewall/firewall_rule_list.html:111 @@ -1769,10 +1847,6 @@ msgstr "Peer‑Gruppen" msgid "Permissions" msgstr "Berechtigungen" -#: templates/user_manager/list.html:26 -msgid "All" -msgstr "Alle" - #: templates/user_manager/list.html:31 msgid "Restart Enabled" msgstr "Neustart aktiviert" @@ -2664,10 +2738,6 @@ msgstr "" msgid "Please type the username to proceed." msgstr "Bitte geben Sie den Benutzernamen ein, um fortzufahren." -#: vpn_invite/forms.py:49 -msgid "Disabled" -msgstr "Deaktiviert" - #: vpn_invite/forms.py:68 vpn_invite/forms.py:69 vpn_invite/forms.py:70 #: vpn_invite/forms.py:71 vpn_invite/forms.py:72 msgid "URL" @@ -3382,8 +3452,5 @@ msgstr "" #~ msgid "Force Reload" #~ msgstr "Neu laden erzwingen" -#~ msgid "Force Restart" -#~ msgstr "Neustart erzwingen" - #~ msgid "Options" #~ msgstr "Optionen" diff --git a/locale/es/LC_MESSAGES/django.mo b/locale/es/LC_MESSAGES/django.mo index fb18ec2c313e64a49e5f21d73fac83d2a2dc4941..9763edd0102c2e18f1e95adcabb727aba8f23e2f 100644 GIT binary patch delta 14557 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 Df-U1V diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index dcb6354..fd777f2 100644 --- a/locale/es/LC_MESSAGES/django.po +++ b/locale/es/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-09 20:13-0300\n" +"POT-Creation-Date: 2026-02-09 22:07-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,51 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cluster/forms.py:18 dns/forms.py:111 routing_templates/forms.py:28 +#: api_v2/forms.py:29 cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 +#: dns/forms.py:67 dns/forms.py:109 routing_templates/forms.py:36 +#: templates/firewall/manage_firewall_rule.html:380 +#: templates/firewall/manage_firewall_settings.html:60 +#: templates/firewall/manage_redirect_rule.html:85 +#: templates/wireguard/apply_route_template.html:63 +#: templates/wireguard/peer_list/peer_preview_modal.html:79 +#: templates/wireguard/wireguard_manage_ip.html:42 user_manager/forms.py:49 +#: user_manager/forms.py:180 vpn_invite/forms.py:192 vpn_invite/forms.py:326 +#: wireguard/forms.py:51 wireguard_peer/forms.py:27 wireguard_peer/forms.py:156 +#: wireguard_peer/forms.py:210 +msgid "Back" +msgstr "Volver" + +#: api_v2/forms.py:30 cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 +#: routing_templates/forms.py:37 +#: templates/firewall/manage_firewall_rule.html:382 +#: templates/firewall/manage_redirect_rule.html:86 +#: templates/scheduler/scheduleprofile_form.html:127 +#: templates/scheduler/scheduleprofile_list.html:29 +#: templates/wireguard/peer_list/peer_preview_modal.html:109 +#: templates/wireguard/wireguard_manage_ip.html:43 user_manager/forms.py:48 +#: user_manager/forms.py:181 wireguard/forms.py:52 +msgid "Delete" +msgstr "Eliminar" + +#: api_v2/forms.py:31 +msgid "Regenerate Token" +msgstr "Regenerar token" + +#: api_v2/forms.py:63 cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 +#: dns/forms.py:83 dns/forms.py:134 routing_templates/forms.py:71 +#: scheduler/forms.py:102 templates/firewall/manage_firewall_rule.html:379 +#: templates/firewall/manage_firewall_settings.html:59 +#: templates/firewall/manage_redirect_rule.html:84 +#: templates/scheduler/scheduleprofile_form.html:200 +#: templates/wireguard/wireguard_manage_ip.html:41 user_manager/forms.py:98 +#: user_manager/forms.py:205 vpn_invite/forms.py:191 vpn_invite/forms.py:325 +#: wireguard/forms.py:100 wireguard_peer/forms.py:26 +#: wireguard_peer/forms.py:205 +msgid "Save" +msgstr "Guardar" + +#: api_v2/models.py:10 cluster/forms.py:18 dns/forms.py:111 +#: routing_templates/forms.py:28 templates/api_v2/list.html:8 #: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 #: templates/routing_templates/list.html:8 #: templates/scheduler/scheduleprofile_list.html:13 @@ -29,11 +73,98 @@ msgstr "" msgid "Name" msgstr "Nombre" -#: cluster/forms.py:19 templates/cluster/workers_list.html:96 +#: api_v2/models.py:11 cluster/forms.py:25 templates/api_v2/list.html:9 +msgid "Token" +msgstr "Token" + +#: api_v2/models.py:12 templates/api_v2/list.html:10 +msgid "Allowed Instances" +msgstr "Instancias permitidas" + +#: api_v2/models.py:13 templates/api_v2/list.html:12 +msgid "Allow Restart" +msgstr "Permitir reinicio" + +#: api_v2/models.py:14 templates/api_v2/list.html:13 +msgid "Allow Reload" +msgstr "Permitir recarga" + +#: api_v2/models.py:15 templates/api_v2/list.html:14 +msgid "Allow Export" +msgstr "Permitir exportación" + +#: api_v2/models.py:16 cluster/forms.py:19 templates/api_v2/list.html:11 +#: templates/api_v2/list.html:41 templates/cluster/workers_list.html:96 #: vpn_invite/forms.py:49 vpn_invite/forms.py:294 msgid "Enabled" msgstr "Habilitado" +#: api_v2/views.py:16 api_v2/views.py:26 api_v2/views.py:81 cluster/views.py:18 +#: cluster/views.py:45 cluster/views.py:114 templates/access_denied.html:9 +msgid "Access Denied" +msgstr "Acceso denegado" + +#: api_v2/views.py:18 templates/template_parts/base_sidebar.html:108 +msgid "API Keys" +msgstr "Claves de API" + +#: api_v2/views.py:31 +msgid "Edit API Key: " +msgstr "Editar clave de API: " + +#: api_v2/views.py:34 templates/api_v2/list.html:80 +msgid "Add API Key" +msgstr "Añadir clave de API" + +#: api_v2/views.py:45 +msgid "Token regenerated successfully." +msgstr "Token regenerado con éxito." + +#: api_v2/views.py:50 +msgid "API Key saved successfully." +msgstr "Clave de API guardada con éxito." + +#: api_v2/views.py:60 +msgid "" +"\n" +"
API Keys
\n" +"

API Keys allow external applications to interact with the " +"WireGuard WebAdmin API.

\n" +"

Token: The secret token used for authentication. " +"Keep this secure.

\n" +"

Allowed Instances: The WireGuard instances this " +"key can manage. If none are selected, the key has access to ALL instances.\n" +"

Permissions: specific actions allowed for this " +"key.

\n" +" " +msgstr "" +"\n" +"
Claves de API
\n" +"

Las claves de API permiten que aplicaciones externas interactúen " +"com a API do WireGuard WebAdmin.

\n" +"

Token: El token secreto utilizado para la " +"autenticación. Manténgalo seguro.

\n" +"

Instancias permitidas: Las instancias de " +"WireGuard que esta clave puede gestionar. Si no se selecciona ninguna, la " +"clave tiene acceso a TODAS las instancias.

\n" +"

Permisos: acciones específicas permitidas para " +"esta clave.

\n" +" " + +#: api_v2/views.py:87 +msgid "API Key deleted successfully." +msgstr "Clave de API eliminada con éxito." + +#: api_v2/views.py:92 +msgid "Delete API Key" +msgstr "Eliminar clave de API" + +#: api_v2/views.py:94 +#, python-format +msgid "Are you sure you want to delete the API Key \"%(name)s\"?" +msgstr "¿Está seguro de que desea eliminar la clave de API \"%(name)s\"?" + #: cluster/forms.py:20 msgid "IP Lock" msgstr "Bloqueo de IP" @@ -60,49 +191,6 @@ msgstr "Ciudad" msgid "Hostname" msgstr "Nombre de host" -#: cluster/forms.py:25 -msgid "Token" -msgstr "Token" - -#: cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 dns/forms.py:67 -#: dns/forms.py:109 routing_templates/forms.py:36 -#: templates/firewall/manage_firewall_rule.html:380 -#: templates/firewall/manage_firewall_settings.html:60 -#: templates/firewall/manage_redirect_rule.html:85 -#: templates/wireguard/apply_route_template.html:63 -#: templates/wireguard/peer_list/peer_preview_modal.html:79 -#: templates/wireguard/wireguard_manage_ip.html:42 user_manager/forms.py:49 -#: user_manager/forms.py:180 vpn_invite/forms.py:192 vpn_invite/forms.py:326 -#: wireguard/forms.py:51 wireguard_peer/forms.py:27 wireguard_peer/forms.py:156 -#: wireguard_peer/forms.py:210 -msgid "Back" -msgstr "Volver" - -#: cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 -#: routing_templates/forms.py:37 -#: templates/firewall/manage_firewall_rule.html:382 -#: templates/firewall/manage_redirect_rule.html:86 -#: templates/scheduler/scheduleprofile_form.html:127 -#: templates/scheduler/scheduleprofile_list.html:29 -#: templates/wireguard/peer_list/peer_preview_modal.html:109 -#: templates/wireguard/wireguard_manage_ip.html:43 user_manager/forms.py:48 -#: user_manager/forms.py:181 wireguard/forms.py:52 -msgid "Delete" -msgstr "Eliminar" - -#: cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 dns/forms.py:83 -#: dns/forms.py:134 routing_templates/forms.py:70 scheduler/forms.py:102 -#: templates/firewall/manage_firewall_rule.html:379 -#: templates/firewall/manage_firewall_settings.html:59 -#: templates/firewall/manage_redirect_rule.html:84 -#: templates/scheduler/scheduleprofile_form.html:200 -#: templates/wireguard/wireguard_manage_ip.html:41 user_manager/forms.py:98 -#: user_manager/forms.py:205 vpn_invite/forms.py:191 vpn_invite/forms.py:325 -#: wireguard/forms.py:100 wireguard_peer/forms.py:26 -#: wireguard_peer/forms.py:205 -msgid "Save" -msgstr "Guardar" - #: cluster/forms.py:82 msgid "A worker with that name already exists." msgstr "Ya existe un worker con ese nombre." @@ -166,12 +254,7 @@ msgstr "" msgid "Worker update is required." msgstr "Se requiere la actualización del worker." -#: cluster/views.py:18 cluster/views.py:45 cluster/views.py:114 -#: templates/access_denied.html:9 -msgid "Access Denied" -msgstr "Acceso denegado" - -#: cluster/views.py:21 templates/template_parts/base_sidebar.html:107 +#: cluster/views.py:21 templates/template_parts/base_sidebar.html:117 msgid "Cluster" msgstr "Cluster" @@ -733,13 +816,13 @@ msgstr "Permitir Rutas Personalizadas del Par" msgid "Enforce Route Policy" msgstr "Forzar Política de Enrutamiento" -#: routing_templates/forms.py:90 +#: routing_templates/forms.py:91 msgid "Custom routes should be empty when Route Type is 'Default Route'." msgstr "" "Las rutas personalizadas deben estar vacías cuando el Tipo de Ruta es 'Ruta " "Predeterminada'." -#: routing_templates/forms.py:95 +#: routing_templates/forms.py:96 msgid "" "Allowing peer custom routes is not applicable when Route Type is 'Default " "Route'." @@ -747,13 +830,13 @@ msgstr "" "Permitir rutas personalizadas del par no es aplicable cuando el Tipo de Ruta " "es 'Ruta Predeterminada'." -#: routing_templates/forms.py:102 +#: routing_templates/forms.py:103 msgid "At least one route must be provided when Route Type is 'Custom'." msgstr "" "Se debe proporcionar al menos una ruta cuando el Tipo de Ruta es " "'Personalizada'." -#: routing_templates/forms.py:113 routing_templates/forms.py:123 +#: routing_templates/forms.py:114 routing_templates/forms.py:124 #, python-format msgid "" "Invalid route format: '%(line)s'. Please use CIDR notation (e.g., " @@ -762,14 +845,14 @@ msgstr "" "Formato de ruta inválido: '%(line)s'. Por favor, use la notación CIDR (ej: " "10.0.0.0/24)." -#: routing_templates/forms.py:131 +#: routing_templates/forms.py:132 #, python-format msgid "" "The route %(route)s is not allowed. Use the 'Default Route' type instead." msgstr "" "La ruta %(route)s no está permitida. Use el tipo 'Ruta Predeterminada'." -#: routing_templates/forms.py:139 +#: routing_templates/forms.py:140 #, python-format msgid "" "'%(line)s' is not a network address. Use the network address (e.g., " @@ -1048,6 +1131,25 @@ msgstr "Has cerrado sesión correctamente." msgid "Login again" msgstr "Iniciar sesión de nuevo" +#: templates/api_v2/list.html:36 templates/user_manager/list.html:26 +msgid "All" +msgstr "Todos" + +#: templates/api_v2/list.html:43 vpn_invite/forms.py:49 +msgid "Disabled" +msgstr "Deshabilitado" + +#: templates/api_v2/list.html:68 templates/cluster/workers_list.html:77 +#: templates/dns/static_host_list.html:74 +#: templates/routing_templates/list.html:29 +#: templates/scheduler/scheduleprofile_form.html:123 +#: templates/scheduler/scheduleprofile_list.html:25 +#: templates/user_manager/list.html:53 +#: templates/user_manager/peer_group_list.html:35 +#: templates/wireguard/peer_list/peer_preview_modal.html:137 +msgid "Edit" +msgstr "Editar" + #: templates/cluster/workers_list.html:9 templates/dns/static_host_list.html:72 #: templates/scheduler/scheduleprofile_form.html:82 #: templates/template_parts/base_sidebar.html:13 vpn_invite/forms.py:78 @@ -1099,17 +1201,6 @@ msgstr "Nunca" msgid "Last seen more than 10 minutes ago or never seen." msgstr "Visto por última vez hace más de 10 minutos o nunca visto." -#: templates/cluster/workers_list.html:77 -#: templates/dns/static_host_list.html:74 -#: templates/routing_templates/list.html:29 -#: templates/scheduler/scheduleprofile_form.html:123 -#: templates/scheduler/scheduleprofile_list.html:25 -#: templates/user_manager/list.html:53 -#: templates/user_manager/peer_group_list.html:35 -#: templates/wireguard/peer_list/peer_preview_modal.html:137 -msgid "Edit" -msgstr "Editar" - #: templates/cluster/workers_list.html:82 msgid "No workers configured" msgstr "No hay workers configurados" @@ -1290,14 +1381,12 @@ msgid "all" msgstr "todos" #: templates/firewall/firewall_rule_list.html:69 -#, fuzzy -#| msgid "Enforce Route Policy" msgid "Automatic rule: Route Policy" -msgstr "Forzar Política de Enrutamiento" +msgstr "Regla automática: Política de enrutamiento" #: templates/firewall/firewall_rule_list.html:77 msgid "RETURN" -msgstr "" +msgstr "RETORNO" #: templates/firewall/firewall_rule_list.html:85 #: templates/firewall/firewall_rule_list.html:111 @@ -1752,10 +1841,6 @@ msgstr "Grupos de peers" msgid "Permissions" msgstr "Permisos" -#: templates/user_manager/list.html:26 -msgid "All" -msgstr "Todos" - #: templates/user_manager/list.html:31 msgid "Restart Enabled" msgstr "Reinicio habilitado" @@ -2639,10 +2724,6 @@ msgstr "" msgid "Please type the username to proceed." msgstr "Por favor escribe el nombre de usuario para continuar." -#: vpn_invite/forms.py:49 -msgid "Disabled" -msgstr "Deshabilitado" - #: vpn_invite/forms.py:68 vpn_invite/forms.py:69 vpn_invite/forms.py:70 #: vpn_invite/forms.py:71 vpn_invite/forms.py:72 msgid "URL" @@ -3360,8 +3441,5 @@ msgstr "" #~ msgid "Force Reload" #~ msgstr "Forzar recarga" -#~ msgid "Force Restart" -#~ msgstr "Forzar reinicio" - #~ msgid "Options" #~ msgstr "Opciones" diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index 7363f271cb26b7eb1fa32b8fa02802b72c47e63a..d2f5d052b28fb5453044eac3d81a893ddc530d17 100644 GIT binary patch delta 14559 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 diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 792dea0..e087617 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-09 20:13-0300\n" +"POT-Creation-Date: 2026-02-09 22:07-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,51 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: cluster/forms.py:18 dns/forms.py:111 routing_templates/forms.py:28 +#: api_v2/forms.py:29 cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 +#: dns/forms.py:67 dns/forms.py:109 routing_templates/forms.py:36 +#: templates/firewall/manage_firewall_rule.html:380 +#: templates/firewall/manage_firewall_settings.html:60 +#: templates/firewall/manage_redirect_rule.html:85 +#: templates/wireguard/apply_route_template.html:63 +#: templates/wireguard/peer_list/peer_preview_modal.html:79 +#: templates/wireguard/wireguard_manage_ip.html:42 user_manager/forms.py:49 +#: user_manager/forms.py:180 vpn_invite/forms.py:192 vpn_invite/forms.py:326 +#: wireguard/forms.py:51 wireguard_peer/forms.py:27 wireguard_peer/forms.py:156 +#: wireguard_peer/forms.py:210 +msgid "Back" +msgstr "Retour" + +#: api_v2/forms.py:30 cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 +#: routing_templates/forms.py:37 +#: templates/firewall/manage_firewall_rule.html:382 +#: templates/firewall/manage_redirect_rule.html:86 +#: templates/scheduler/scheduleprofile_form.html:127 +#: templates/scheduler/scheduleprofile_list.html:29 +#: templates/wireguard/peer_list/peer_preview_modal.html:109 +#: templates/wireguard/wireguard_manage_ip.html:43 user_manager/forms.py:48 +#: user_manager/forms.py:181 wireguard/forms.py:52 +msgid "Delete" +msgstr "Supprimer" + +#: api_v2/forms.py:31 +msgid "Regenerate Token" +msgstr "Régénérer le jeton" + +#: api_v2/forms.py:63 cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 +#: dns/forms.py:83 dns/forms.py:134 routing_templates/forms.py:71 +#: scheduler/forms.py:102 templates/firewall/manage_firewall_rule.html:379 +#: templates/firewall/manage_firewall_settings.html:59 +#: templates/firewall/manage_redirect_rule.html:84 +#: templates/scheduler/scheduleprofile_form.html:200 +#: templates/wireguard/wireguard_manage_ip.html:41 user_manager/forms.py:98 +#: user_manager/forms.py:205 vpn_invite/forms.py:191 vpn_invite/forms.py:325 +#: wireguard/forms.py:100 wireguard_peer/forms.py:26 +#: wireguard_peer/forms.py:205 +msgid "Save" +msgstr "Enregistrer" + +#: api_v2/models.py:10 cluster/forms.py:18 dns/forms.py:111 +#: routing_templates/forms.py:28 templates/api_v2/list.html:8 #: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 #: templates/routing_templates/list.html:8 #: templates/scheduler/scheduleprofile_list.html:13 @@ -29,11 +73,97 @@ msgstr "" msgid "Name" msgstr "Nom" -#: cluster/forms.py:19 templates/cluster/workers_list.html:96 +#: api_v2/models.py:11 cluster/forms.py:25 templates/api_v2/list.html:9 +msgid "Token" +msgstr "Jeton" + +#: api_v2/models.py:12 templates/api_v2/list.html:10 +msgid "Allowed Instances" +msgstr "Instances autorisées" + +#: api_v2/models.py:13 templates/api_v2/list.html:12 +msgid "Allow Restart" +msgstr "Autoriser le redémarrage" + +#: api_v2/models.py:14 templates/api_v2/list.html:13 +msgid "Allow Reload" +msgstr "Autoriser le rechargement" + +#: api_v2/models.py:15 templates/api_v2/list.html:14 +msgid "Allow Export" +msgstr "Autoriser l'exportation" + +#: api_v2/models.py:16 cluster/forms.py:19 templates/api_v2/list.html:11 +#: templates/api_v2/list.html:41 templates/cluster/workers_list.html:96 #: vpn_invite/forms.py:49 vpn_invite/forms.py:294 msgid "Enabled" msgstr "Activé" +#: api_v2/views.py:16 api_v2/views.py:26 api_v2/views.py:81 cluster/views.py:18 +#: cluster/views.py:45 cluster/views.py:114 templates/access_denied.html:9 +msgid "Access Denied" +msgstr "Accès refusé" + +#: api_v2/views.py:18 templates/template_parts/base_sidebar.html:108 +msgid "API Keys" +msgstr "Clés d'API" + +#: api_v2/views.py:31 +msgid "Edit API Key: " +msgstr "Modifier la clé d'API : " + +#: api_v2/views.py:34 templates/api_v2/list.html:80 +msgid "Add API Key" +msgstr "Ajouter une clé d'API" + +#: api_v2/views.py:45 +msgid "Token regenerated successfully." +msgstr "Jeton régénéré avec succès." + +#: api_v2/views.py:50 +msgid "API Key saved successfully." +msgstr "Clé d'API enregistrée avec succès." + +#: api_v2/views.py:60 +msgid "" +"\n" +"

API Keys
\n" +"

API Keys allow external applications to interact with the " +"WireGuard WebAdmin API.

\n" +"

Token: The secret token used for authentication. " +"Keep this secure.

\n" +"

Allowed Instances: The WireGuard instances this " +"key can manage. If none are selected, the key has access to ALL instances.\n" +"

Permissions: specific actions allowed for this " +"key.

\n" +" " +msgstr "" +"\n" +"
Clés d'API
\n" +"

Les clés d'API permettent à des applications externes d'interagir " +"com a API do WireGuard WebAdmin.

\n" +"

Token: Le jeton secret utilisé pour l'authentification. " +"Gardez-le en sécurité.

\n" +"

Instances autorisées: Les instances WireGuard que cette " +"clé peut gérer. Si aucune n'est sélectionnée, la clé a accès à TOUTES les instances.

\n" +"

Permissions: actions spécifiques autorisées pour " +"cette clé.

\n" +" " + +#: api_v2/views.py:87 +msgid "API Key deleted successfully." +msgstr "Clé d'API supprimée avec succès." + +#: api_v2/views.py:92 +msgid "Delete API Key" +msgstr "Supprimer la clé d'API" + +#: api_v2/views.py:94 +#, python-format +msgid "Are you sure you want to delete the API Key \"%(name)s\"?" +msgstr "Êtes-vous sûr de vouloir supprimer la clé d'API \"%(name)s\" ?" + #: cluster/forms.py:20 msgid "IP Lock" msgstr "Verrouillage IP" @@ -60,49 +190,6 @@ msgstr "Ville" msgid "Hostname" msgstr "Nom d’hôte" -#: cluster/forms.py:25 -msgid "Token" -msgstr "Jeton" - -#: cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 dns/forms.py:67 -#: dns/forms.py:109 routing_templates/forms.py:36 -#: templates/firewall/manage_firewall_rule.html:380 -#: templates/firewall/manage_firewall_settings.html:60 -#: templates/firewall/manage_redirect_rule.html:85 -#: templates/wireguard/apply_route_template.html:63 -#: templates/wireguard/peer_list/peer_preview_modal.html:79 -#: templates/wireguard/wireguard_manage_ip.html:42 user_manager/forms.py:49 -#: user_manager/forms.py:180 vpn_invite/forms.py:192 vpn_invite/forms.py:326 -#: wireguard/forms.py:51 wireguard_peer/forms.py:27 wireguard_peer/forms.py:156 -#: wireguard_peer/forms.py:210 -msgid "Back" -msgstr "Retour" - -#: cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 -#: routing_templates/forms.py:37 -#: templates/firewall/manage_firewall_rule.html:382 -#: templates/firewall/manage_redirect_rule.html:86 -#: templates/scheduler/scheduleprofile_form.html:127 -#: templates/scheduler/scheduleprofile_list.html:29 -#: templates/wireguard/peer_list/peer_preview_modal.html:109 -#: templates/wireguard/wireguard_manage_ip.html:43 user_manager/forms.py:48 -#: user_manager/forms.py:181 wireguard/forms.py:52 -msgid "Delete" -msgstr "Supprimer" - -#: cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 dns/forms.py:83 -#: dns/forms.py:134 routing_templates/forms.py:70 scheduler/forms.py:102 -#: templates/firewall/manage_firewall_rule.html:379 -#: templates/firewall/manage_firewall_settings.html:59 -#: templates/firewall/manage_redirect_rule.html:84 -#: templates/scheduler/scheduleprofile_form.html:200 -#: templates/wireguard/wireguard_manage_ip.html:41 user_manager/forms.py:98 -#: user_manager/forms.py:205 vpn_invite/forms.py:191 vpn_invite/forms.py:325 -#: wireguard/forms.py:100 wireguard_peer/forms.py:26 -#: wireguard_peer/forms.py:205 -msgid "Save" -msgstr "Enregistrer" - #: cluster/forms.py:82 msgid "A worker with that name already exists." msgstr "Un worker avec ce nom existe déjà." @@ -164,12 +251,7 @@ msgstr "" msgid "Worker update is required." msgstr "La mise à jour du worker est requise." -#: cluster/views.py:18 cluster/views.py:45 cluster/views.py:114 -#: templates/access_denied.html:9 -msgid "Access Denied" -msgstr "Accès refusé" - -#: cluster/views.py:21 templates/template_parts/base_sidebar.html:107 +#: cluster/views.py:21 templates/template_parts/base_sidebar.html:117 msgid "Cluster" msgstr "Cluster" @@ -734,13 +816,13 @@ msgstr "Autoriser les Routes Personnalisées des Pairs" msgid "Enforce Route Policy" msgstr "Appliquer la politique de routage" -#: routing_templates/forms.py:90 +#: routing_templates/forms.py:91 msgid "Custom routes should be empty when Route Type is 'Default Route'." msgstr "" "Les routes personnalisées doivent être vides lorsque le Type de Route est " "'Route par Défaut'." -#: routing_templates/forms.py:95 +#: routing_templates/forms.py:96 msgid "" "Allowing peer custom routes is not applicable when Route Type is 'Default " "Route'." @@ -748,13 +830,13 @@ msgstr "" "L'autorisation de routes personnalisées de pairs n'est pas applicable " "lorsque le Type de Route est 'Route par Défaut'." -#: routing_templates/forms.py:102 +#: routing_templates/forms.py:103 msgid "At least one route must be provided when Route Type is 'Custom'." msgstr "" "Au moins une route doit être fournie lorsque le Type de Route est " "'Personnalisée'." -#: routing_templates/forms.py:113 routing_templates/forms.py:123 +#: routing_templates/forms.py:114 routing_templates/forms.py:124 #, python-format msgid "" "Invalid route format: '%(line)s'. Please use CIDR notation (e.g., " @@ -763,14 +845,14 @@ msgstr "" "Format de route invalide : '%(line)s'. Veuillez utiliser la notation CIDR " "(ex : 10.0.0.0/24)." -#: routing_templates/forms.py:131 +#: routing_templates/forms.py:132 #, python-format msgid "" "The route %(route)s is not allowed. Use the 'Default Route' type instead." msgstr "" "La route %(route)s n'est pas autorisée. Utilisez le type 'Route par Défaut'." -#: routing_templates/forms.py:139 +#: routing_templates/forms.py:140 #, python-format msgid "" "'%(line)s' is not a network address. Use the network address (e.g., " @@ -1048,6 +1130,25 @@ msgstr "Vous avez été déconnecté avec succès." msgid "Login again" msgstr "Se reconnecter" +#: templates/api_v2/list.html:36 templates/user_manager/list.html:26 +msgid "All" +msgstr "Tous" + +#: templates/api_v2/list.html:43 vpn_invite/forms.py:49 +msgid "Disabled" +msgstr "Désactivé" + +#: templates/api_v2/list.html:68 templates/cluster/workers_list.html:77 +#: templates/dns/static_host_list.html:74 +#: templates/routing_templates/list.html:29 +#: templates/scheduler/scheduleprofile_form.html:123 +#: templates/scheduler/scheduleprofile_list.html:25 +#: templates/user_manager/list.html:53 +#: templates/user_manager/peer_group_list.html:35 +#: templates/wireguard/peer_list/peer_preview_modal.html:137 +msgid "Edit" +msgstr "Modifier" + #: templates/cluster/workers_list.html:9 templates/dns/static_host_list.html:72 #: templates/scheduler/scheduleprofile_form.html:82 #: templates/template_parts/base_sidebar.html:13 vpn_invite/forms.py:78 @@ -1099,17 +1200,6 @@ msgstr "Jamais" msgid "Last seen more than 10 minutes ago or never seen." msgstr "Vu pour la dernière fois il y a plus de 10 minutes ou jamais vu." -#: templates/cluster/workers_list.html:77 -#: templates/dns/static_host_list.html:74 -#: templates/routing_templates/list.html:29 -#: templates/scheduler/scheduleprofile_form.html:123 -#: templates/scheduler/scheduleprofile_list.html:25 -#: templates/user_manager/list.html:53 -#: templates/user_manager/peer_group_list.html:35 -#: templates/wireguard/peer_list/peer_preview_modal.html:137 -msgid "Edit" -msgstr "Modifier" - #: templates/cluster/workers_list.html:82 msgid "No workers configured" msgstr "Aucun worker configuré" @@ -1289,14 +1379,12 @@ msgid "all" msgstr "tous" #: templates/firewall/firewall_rule_list.html:69 -#, fuzzy -#| msgid "Enforce Route Policy" msgid "Automatic rule: Route Policy" -msgstr "Appliquer la politique de routage" +msgstr "Règle automatique : politique de routage" #: templates/firewall/firewall_rule_list.html:77 msgid "RETURN" -msgstr "" +msgstr "RETOUR" #: templates/firewall/firewall_rule_list.html:85 #: templates/firewall/firewall_rule_list.html:111 @@ -1753,10 +1841,6 @@ msgstr "Groupes de peers" msgid "Permissions" msgstr "Autorisations" -#: templates/user_manager/list.html:26 -msgid "All" -msgstr "Tous" - #: templates/user_manager/list.html:31 msgid "Restart Enabled" msgstr "Redémarrage autorisé" @@ -2642,10 +2726,6 @@ msgstr "" msgid "Please type the username to proceed." msgstr "Veuillez saisir le nom d’utilisateur pour continuer." -#: vpn_invite/forms.py:49 -msgid "Disabled" -msgstr "Désactivé" - #: vpn_invite/forms.py:68 vpn_invite/forms.py:69 vpn_invite/forms.py:70 #: vpn_invite/forms.py:71 vpn_invite/forms.py:72 msgid "URL" @@ -3361,8 +3441,5 @@ msgstr "Aucune interface trouvée | Aucune interface WireGuard à traiter." #~ msgid "Force Reload" #~ msgstr "Forcer le rechargement" -#~ msgid "Force Restart" -#~ msgstr "Forcer le redémarrage" - #~ msgid "Options" #~ msgstr "Options" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index d3ae2cba7b952e70eddcfbee38348322d1f19abf..0b1c9850d948b97b35995107c0b54aad7a5a295a 100644 GIT binary patch delta 14581 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 KU&XVf=>Gw&o5*7T delta 12809 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\n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,51 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: cluster/forms.py:18 dns/forms.py:111 routing_templates/forms.py:28 +#: api_v2/forms.py:29 cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 +#: dns/forms.py:67 dns/forms.py:109 routing_templates/forms.py:36 +#: templates/firewall/manage_firewall_rule.html:380 +#: templates/firewall/manage_firewall_settings.html:60 +#: templates/firewall/manage_redirect_rule.html:85 +#: templates/wireguard/apply_route_template.html:63 +#: templates/wireguard/peer_list/peer_preview_modal.html:79 +#: templates/wireguard/wireguard_manage_ip.html:42 user_manager/forms.py:49 +#: user_manager/forms.py:180 vpn_invite/forms.py:192 vpn_invite/forms.py:326 +#: wireguard/forms.py:51 wireguard_peer/forms.py:27 wireguard_peer/forms.py:156 +#: wireguard_peer/forms.py:210 +msgid "Back" +msgstr "Voltar" + +#: api_v2/forms.py:30 cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 +#: routing_templates/forms.py:37 +#: templates/firewall/manage_firewall_rule.html:382 +#: templates/firewall/manage_redirect_rule.html:86 +#: templates/scheduler/scheduleprofile_form.html:127 +#: templates/scheduler/scheduleprofile_list.html:29 +#: templates/wireguard/peer_list/peer_preview_modal.html:109 +#: templates/wireguard/wireguard_manage_ip.html:43 user_manager/forms.py:48 +#: user_manager/forms.py:181 wireguard/forms.py:52 +msgid "Delete" +msgstr "Excluir" + +#: api_v2/forms.py:31 +msgid "Regenerate Token" +msgstr "Regenerar Token" + +#: api_v2/forms.py:63 cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 +#: dns/forms.py:83 dns/forms.py:134 routing_templates/forms.py:71 +#: scheduler/forms.py:102 templates/firewall/manage_firewall_rule.html:379 +#: templates/firewall/manage_firewall_settings.html:59 +#: templates/firewall/manage_redirect_rule.html:84 +#: templates/scheduler/scheduleprofile_form.html:200 +#: templates/wireguard/wireguard_manage_ip.html:41 user_manager/forms.py:98 +#: user_manager/forms.py:205 vpn_invite/forms.py:191 vpn_invite/forms.py:325 +#: wireguard/forms.py:100 wireguard_peer/forms.py:26 +#: wireguard_peer/forms.py:205 +msgid "Save" +msgstr "Salvar" + +#: api_v2/models.py:10 cluster/forms.py:18 dns/forms.py:111 +#: routing_templates/forms.py:28 templates/api_v2/list.html:8 #: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 #: templates/routing_templates/list.html:8 #: templates/scheduler/scheduleprofile_list.html:13 @@ -29,11 +73,98 @@ msgstr "" msgid "Name" msgstr "Nome" -#: cluster/forms.py:19 templates/cluster/workers_list.html:96 +#: api_v2/models.py:11 cluster/forms.py:25 templates/api_v2/list.html:9 +msgid "Token" +msgstr "Token" + +#: api_v2/models.py:12 templates/api_v2/list.html:10 +msgid "Allowed Instances" +msgstr "Instâncias Permitidas" + +#: api_v2/models.py:13 templates/api_v2/list.html:12 +msgid "Allow Restart" +msgstr "Permitir Reinicialização" + +#: api_v2/models.py:14 templates/api_v2/list.html:13 +msgid "Allow Reload" +msgstr "Permitir Recarregamento" + +#: api_v2/models.py:15 templates/api_v2/list.html:14 +msgid "Allow Export" +msgstr "Permitir Exportação" + +#: api_v2/models.py:16 cluster/forms.py:19 templates/api_v2/list.html:11 +#: templates/api_v2/list.html:41 templates/cluster/workers_list.html:96 #: vpn_invite/forms.py:49 vpn_invite/forms.py:294 msgid "Enabled" msgstr "Habilitado" +#: api_v2/views.py:16 api_v2/views.py:26 api_v2/views.py:81 cluster/views.py:18 +#: cluster/views.py:45 cluster/views.py:114 templates/access_denied.html:9 +msgid "Access Denied" +msgstr "Acesso Negado" + +#: api_v2/views.py:18 templates/template_parts/base_sidebar.html:108 +msgid "API Keys" +msgstr "Chaves de API" + +#: api_v2/views.py:31 +msgid "Edit API Key: " +msgstr "Editar Chave de API: " + +#: api_v2/views.py:34 templates/api_v2/list.html:80 +msgid "Add API Key" +msgstr "Adicionar Chave de API" + +#: api_v2/views.py:45 +msgid "Token regenerated successfully." +msgstr "Token regenerado com sucesso." + +#: api_v2/views.py:50 +msgid "API Key saved successfully." +msgstr "Chave de API salva com sucesso." + +#: api_v2/views.py:60 +msgid "" +"\n" +"
API Keys
\n" +"

API Keys allow external applications to interact with the " +"WireGuard WebAdmin API.

\n" +"

Token: The secret token used for authentication. " +"Keep this secure.

\n" +"

Allowed Instances: The WireGuard instances this " +"key can manage. If none are selected, the key has access to ALL instances.\n" +"

Permissions: specific actions allowed for this " +"key.

\n" +" " +msgstr "" +"\n" +"
Chaves de API
\n" +"

As Chaves de API permitem que aplicativos externos interajam com " +"a API do WireGuard WebAdmin.

\n" +"

Token: O token secreto usado para autenticação. " +"Mantenha-o seguro.

\n" +"

Instâncias Permitidas: As instâncias do " +"WireGuard que esta chave pode gerenciar. Se nenhuma for selecionada, a " +"chave terá acesso a TODAS as instâncias.

\n" +"

Permissões: ações específicas permitidas para " +"esta chave.

\n" +" " + +#: api_v2/views.py:87 +msgid "API Key deleted successfully." +msgstr "Chave de API excluída com sucesso." + +#: api_v2/views.py:92 +msgid "Delete API Key" +msgstr "Excluir Chave de API" + +#: api_v2/views.py:94 +#, python-format +msgid "Are you sure you want to delete the API Key \"%(name)s\"?" +msgstr "Tem certeza de que deseja excluir a Chave de API \"%(name)s\"?" + #: cluster/forms.py:20 msgid "IP Lock" msgstr "Bloqueio de IP" @@ -60,49 +191,6 @@ msgstr "Cidade" msgid "Hostname" msgstr "Endereço do Host" -#: cluster/forms.py:25 -msgid "Token" -msgstr "Token" - -#: cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 dns/forms.py:67 -#: dns/forms.py:109 routing_templates/forms.py:36 -#: templates/firewall/manage_firewall_rule.html:380 -#: templates/firewall/manage_firewall_settings.html:60 -#: templates/firewall/manage_redirect_rule.html:85 -#: templates/wireguard/apply_route_template.html:63 -#: templates/wireguard/peer_list/peer_preview_modal.html:79 -#: templates/wireguard/wireguard_manage_ip.html:42 user_manager/forms.py:49 -#: user_manager/forms.py:180 vpn_invite/forms.py:192 vpn_invite/forms.py:326 -#: wireguard/forms.py:51 wireguard_peer/forms.py:27 wireguard_peer/forms.py:156 -#: wireguard_peer/forms.py:210 -msgid "Back" -msgstr "Voltar" - -#: cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 -#: routing_templates/forms.py:37 -#: templates/firewall/manage_firewall_rule.html:382 -#: templates/firewall/manage_redirect_rule.html:86 -#: templates/scheduler/scheduleprofile_form.html:127 -#: templates/scheduler/scheduleprofile_list.html:29 -#: templates/wireguard/peer_list/peer_preview_modal.html:109 -#: templates/wireguard/wireguard_manage_ip.html:43 user_manager/forms.py:48 -#: user_manager/forms.py:181 wireguard/forms.py:52 -msgid "Delete" -msgstr "Excluir" - -#: cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 dns/forms.py:83 -#: dns/forms.py:134 routing_templates/forms.py:70 scheduler/forms.py:102 -#: templates/firewall/manage_firewall_rule.html:379 -#: templates/firewall/manage_firewall_settings.html:59 -#: templates/firewall/manage_redirect_rule.html:84 -#: templates/scheduler/scheduleprofile_form.html:200 -#: templates/wireguard/wireguard_manage_ip.html:41 user_manager/forms.py:98 -#: user_manager/forms.py:205 vpn_invite/forms.py:191 vpn_invite/forms.py:325 -#: wireguard/forms.py:100 wireguard_peer/forms.py:26 -#: wireguard_peer/forms.py:205 -msgid "Save" -msgstr "Salvar" - #: cluster/forms.py:82 msgid "A worker with that name already exists." msgstr "Um worker com esse nome já existe." @@ -164,12 +252,7 @@ msgstr "" msgid "Worker update is required." msgstr "A atualização do worker é necessária." -#: cluster/views.py:18 cluster/views.py:45 cluster/views.py:114 -#: templates/access_denied.html:9 -msgid "Access Denied" -msgstr "Acesso Negado" - -#: cluster/views.py:21 templates/template_parts/base_sidebar.html:107 +#: cluster/views.py:21 templates/template_parts/base_sidebar.html:117 msgid "Cluster" msgstr "Cluster" @@ -733,13 +816,13 @@ msgstr "Permitir Rotas Personalizadas do Peer" msgid "Enforce Route Policy" msgstr "Forçar Política de Roteamento" -#: routing_templates/forms.py:90 +#: routing_templates/forms.py:91 msgid "Custom routes should be empty when Route Type is 'Default Route'." msgstr "" "As rotas personalizadas devem estar vazias quando o Tipo de Rota é 'Rota " "Padrão'." -#: routing_templates/forms.py:95 +#: routing_templates/forms.py:96 msgid "" "Allowing peer custom routes is not applicable when Route Type is 'Default " "Route'." @@ -748,14 +831,14 @@ msgstr "" "é 'Rota Padrão'.Permitir rotas personalizadas do peer não é aplicável quando " "o Tipo de Rota é 'Rota Padrão'." -#: routing_templates/forms.py:102 +#: routing_templates/forms.py:103 msgid "At least one route must be provided when Route Type is 'Custom'." msgstr "" "Pelo menos uma rota deve ser fornecida quando o Tipo de Rota é " "'Personalizada'.Pelo menos uma rota deve ser fornecida quando o Tipo de Rota " "é 'Personalizada'." -#: routing_templates/forms.py:113 routing_templates/forms.py:123 +#: routing_templates/forms.py:114 routing_templates/forms.py:124 #, python-format msgid "" "Invalid route format: '%(line)s'. Please use CIDR notation (e.g., " @@ -765,13 +848,13 @@ msgstr "" "10.0.0.0/24).Formato de rota inválido: '%(line)s'. Por favor, use a notação " "CIDR (ex: 10.0.0.0/24)." -#: routing_templates/forms.py:131 +#: routing_templates/forms.py:132 #, python-format msgid "" "The route %(route)s is not allowed. Use the 'Default Route' type instead." msgstr "A rota %(route)s não é permitida. Use o tipo 'Rota Padrão'." -#: routing_templates/forms.py:139 +#: routing_templates/forms.py:140 #, python-format msgid "" "'%(line)s' is not a network address. Use the network address (e.g., " @@ -1050,6 +1133,25 @@ msgstr "Você foi desconectado com sucesso." msgid "Login again" msgstr "Acessar novamente" +#: templates/api_v2/list.html:36 templates/user_manager/list.html:26 +msgid "All" +msgstr "Todos" + +#: templates/api_v2/list.html:43 vpn_invite/forms.py:49 +msgid "Disabled" +msgstr "Desabilitado" + +#: templates/api_v2/list.html:68 templates/cluster/workers_list.html:77 +#: templates/dns/static_host_list.html:74 +#: templates/routing_templates/list.html:29 +#: templates/scheduler/scheduleprofile_form.html:123 +#: templates/scheduler/scheduleprofile_list.html:25 +#: templates/user_manager/list.html:53 +#: templates/user_manager/peer_group_list.html:35 +#: templates/wireguard/peer_list/peer_preview_modal.html:137 +msgid "Edit" +msgstr "Editar" + #: templates/cluster/workers_list.html:9 templates/dns/static_host_list.html:72 #: templates/scheduler/scheduleprofile_form.html:82 #: templates/template_parts/base_sidebar.html:13 vpn_invite/forms.py:78 @@ -1103,17 +1205,6 @@ msgstr "Nunca" msgid "Last seen more than 10 minutes ago or never seen." msgstr "Visto pela última vez há mais de 10 minutos ou nunca visto." -#: templates/cluster/workers_list.html:77 -#: templates/dns/static_host_list.html:74 -#: templates/routing_templates/list.html:29 -#: templates/scheduler/scheduleprofile_form.html:123 -#: templates/scheduler/scheduleprofile_list.html:25 -#: templates/user_manager/list.html:53 -#: templates/user_manager/peer_group_list.html:35 -#: templates/wireguard/peer_list/peer_preview_modal.html:137 -msgid "Edit" -msgstr "Editar" - #: templates/cluster/workers_list.html:82 msgid "No workers configured" msgstr "Nenhum worker configurado" @@ -1292,14 +1383,12 @@ msgid "all" msgstr "Todos" #: templates/firewall/firewall_rule_list.html:69 -#, fuzzy -#| msgid "Enforce Route Policy" msgid "Automatic rule: Route Policy" -msgstr "Forçar Política de Roteamento" +msgstr "Regra automática: Política de Roteamento" #: templates/firewall/firewall_rule_list.html:77 msgid "RETURN" -msgstr "" +msgstr "RETORNO" #: templates/firewall/firewall_rule_list.html:85 #: templates/firewall/firewall_rule_list.html:111 @@ -1762,10 +1851,6 @@ msgstr "Grupos de Peers" msgid "Permissions" msgstr "Permissões" -#: templates/user_manager/list.html:26 -msgid "All" -msgstr "Todos" - #: templates/user_manager/list.html:31 msgid "Restart Enabled" msgstr "Reiniciar Habilitado" @@ -2654,10 +2739,6 @@ msgstr "" msgid "Please type the username to proceed." msgstr "Por favor, digite o nome de usuário para prosseguir." -#: vpn_invite/forms.py:49 -msgid "Disabled" -msgstr "Desabilitado" - #: vpn_invite/forms.py:68 vpn_invite/forms.py:69 vpn_invite/forms.py:70 #: vpn_invite/forms.py:71 vpn_invite/forms.py:72 msgid "URL" @@ -3364,8 +3445,5 @@ msgstr "" #~ msgid "Force Reload" #~ msgstr "Forçar Recarga" -#~ msgid "Force Restart" -#~ msgstr "Forçar Reinicialização" - #~ msgid "Options" #~ msgstr "Opções" diff --git a/locale/sk/LC_MESSAGES/django.mo b/locale/sk/LC_MESSAGES/django.mo index 2d2f8e3a090cd97e988a857ae235fc61bc18b3e9..357a2756e8130da39ebd3d5f3512488c1886253c 100644 GIT binary patch delta 14555 zcmZ|W37k&#;>Ypxm@$|cjD6=A+hB}c_Kbb(%M1ze7!NaM=9y_0Ydl0n2#r!`u_e^4 z456D;(?lh?lx(3a)vYM)QvE;Q=l7d(|Nr|xuh-A}x1ICb&vUrl)o+GwJr)``S26Sv zhihC3$El4sD>_co5XU*&NV$$Pzm4PUr)&XkB>(pIjx&<3j#J&^IGejW z&NQt@#K#h=Qu-o;I6xP5Qa{0oW9iSh%HG6COS@Yd;y!_ z8RT{+#7hS-9BW|=mZp8DH<7Yr494;}7Ii}!mcneCo{bFHS%49EA4cIS)O{PVI_|`B z_#Q^$X`B8Wb>B}|8B0uZoC>t>R3lOvn_^XLgW;Hf>Odl@gX2&gn1)Nxk80o-TV68R zacYvTgz88fvYJjmRJ}V<&zXvvi98HcA(Br-J==yAa5uVm5H*Eg;BbtZ>^Q8HGYK_< z6x2xPqNaQq-iCXv-=dZ%#>aBtIP8IuQy3%;p2GZhATpl}xd+v=tJoSNr!MRCH&Hs{_5TERL}0iKxAjX`O`?NH0Xy ze*^=1@Ma=<54?(cVH`urKpE`U z!O{394#&~CY-rq;%lr={QYOzFizHM-e$9&6 zKs9{UdKuNRtEdj&K<$}`xn`!SU?tKGQRN*`15CgkI2_As?jH_DSR2$0J5eu)w^5s_ z>^!sfv8Y{s4{9V!F&5XMMt%r2^~bR>{(^O|9&Ko;x}l3hQO7n5OB0+t{!q{7p+>YA zTjOd}&)-J%{9{zZ=TU2T4Yj!{%{TR8P&3pC)uEoK=M6^Xk3lWjBvgJ122?SZh#nk3 zJ#Yn9$IVz9_ghb+X6R>Y!~!$2dZenvHT12xsv?lrIK_Slp3P}Gt$7EE)kE1&B465V1 zZ2kf4Ncu49xq*`Rn@9`P1Cy{T=AvfeCDat3$If^Y+u>~wnETSPB>_Fa z*DwJ?7n>0e!Iq@6F`D+BjYRGuqX@Mo4VRb(Mx#!_GHi&iVJKcijo=Gxi}fEgBThmc zvq{((b5ZxLv-z*1j_)y42S3H?I{)9;g0Q9L0aZ{_*#t}Dcx;YSFajS&P4Sbc@*SuL z@4|2_#8P+!!|;Ul6VzV1gf;O8tV;V%`DLcT#;6C3Lp^Y+bvo)ja36NTM^OzNv*o94 z`Io3;djqwUm6n_1+6HTo?u#36B5I~eJjDE~N0o_0Vnb9xYt#+BP#qeNIt?kPDV>Ln zaFfk{2eq5eqdFS0!YoZ?)ROi`J$DY4#pM`*>sB!TTC1&OXey7O*7#$aK8q^9jA}S? zrR^ZOEQ8HgnGUqaIMTgVG5=blY%8ZnVa6hTs(Jhr6*U{*Iln$z$f+dr|L=9jN>(sJ-Jp z&c7w-{P!i|BjbK-k6&Xmj9$y{01n2PcoR!{__bVT)^yH#Go^2$mg;@fCOm=l@dj$- zwVyEQ=BTM3jGFP0SXSphhe&NQ7N8#VBx-86qNeNx48dL4758E%{1G+9EuS47F)WKV{ae66(jwwRT0Fjyr5R zfEvI$)JQj@?%$3TaW_`NL#TGnVn980`|7)QKfaJZTXw1rTPptGgt6FEW63%=c5L?#=2!w!1S&SBylm1%IFRyzdw4gf zUSKcN%wm1Hk97&7u>-6z4<7Y4e`~?)Lu?=_ws?Afgw-71Wx1k6Odhr_3g*Wv!1|`zELdwL-0N zN34#6P)p-Oy$9x?)_x0W&G(?5e+ae2pCG3$;CxM_1{q~en|FEx)N$;LsyG@MxHHA3 zGf*A42bbU?)Uhge#@t^Q>yvJeTGG*|j^&}2bSbK1J1|=3e?Jk8-~wtyzoL3t_NR7#lYT!fEj9te#EcuCfPqf3^NZ*ZZa2xK!v)BV4J;&0~zVk7WURdG0 zdF3WyEa|nV{DY`BV#EbA6CF@f+6}dvhoEL)9M;2h)P2iPOLi3J;3-u7q)*M#CSyPq zQi*7)vr!{ifYG=bRlWz+;OnTV{}*bcr%+Q_`ZF_AHBnQ2JL-8!sOL>a&F~CNz?G;0 zp8kyaSC2|vG*ey$8cSTBP4VE!`)m4qV43=(%L} zR8!RM?~8RX?NY#0TtbF!cnk;NR#ZdRu`Y&QHoLk3YAFWW^i1qddLwqkPq9DNykhDn zqh@M3Y9?OA2>bxGht33uxJ0g?rl{2C=0+Da^#f2N9f=y*WYqbdh0*vTs-wqk`DN6| zZlIQ;`WNOiJ`M+w9*5e*+iW`UCy~-*4EoYEkc3*2X{eFU#G1GU_28XY5|3I>U{lg( zF%rZ6ZDz6(x}>9Rx)+9%9)V?Wyh#U~sYEowY;1@NQ8V$Z^$paqJdG}1wfW`0q7$TJ zPy_fCwO2}fZR*!RO?eB{4D~=Q@d&JjUaX??KZ}Tt%?i{edI2@!_fQqDpdRoChGEn< zro+`x$1VnIV@FhjNvLz5V#}XKJ^w}2$dB6m(^!r6oqrS2rYLdMzR9e0u`Ky?jLk5S^g#6C(>NK!zUBPSC6Y#D0)B}uCVXd{hHXhN z#U^+Fhv4U^z0u*inerrSIu0U#A!Xb1X;tr=LyFOa5XyQXW;mK57%TK#i;e_QD>h8C+!Z_o6!d zCbq{D0V3Kgk-wU??2Q9S-;d+*80xsSx?wg~2h@}%SQAluWCCilW}rH7A6CQ_){UqE z?6&1^pN<&s4i-^w!#D)hRty;-hpppd8~KStZ7T^M7lSsBlA%8mthOs ziw*D!YR`oKZkD7eGGhVf4k8+%7qzxiQ6rg!@wf^#Wyet?`y4Cdcc@Jn_J?_2#G&f- zLoLZz)Dlib4RD^#UxAv5by!*Fe>)LP=>b#+-o@H@7VF}#=wkIh%}6?-W@tRt!nvp! zc^oy;ZK#pIk9yv37@T3p6Wk+pQG2clmJbk#Bcd7TZtaaVNe@8Hgby{6xi-Dprk}$Q z@(VEr4`NgN7S-{Z9#8OJR6Ai~(yOoy?nM{B!a!dlktNInMxv(l9_);pZT@-G+LjJ6 zRz)pELyW{YR0CbG6iz}d(KOUj1W*H9ikgX4s6DeW#1jaf&$DFICnF-%6Z|Vz3)Jpy zgH^B(>imyI9jB$Jh7X`-<}j**7qJ_DXVWeD3!^&F4TGl!wIqqCnV3>C;0bo%aWeG6 zID~cZM;wEd!aTvB+YHp6*o?}513O}^Ql>l+gCoQN ze|{5DOEDYO(G}PQKd|``6+FQgm5agu{jVL7MpWp9VVH`V(k#?W%tH12e(O%uo9-NH z=B}eU5LwaK1pAZjiTa{iYSS;GX6#qg5`-SCkuzku4! z-=RhxQrV>AQM-R6s>5SYdt(Z^m}k?ETDPD!@vh38f9=A3WM~EsqR!_xCXVk)}xNuX4F!>i0a@`R7XBT4eT0f#7$Fkrmis=gE1Z#;R?*d z%GJ!;J&6Az{WiAq@b?7%lNTM!_iK29Up$dDJ;7hgF{l^RCe-o!7zbjxS|)ubYQ|Tg zUTjAKL=uQx!r2(dfAZ1}x1mOS4qwJ7{@a-)co11`XLwyt@PCj@u4m410cy{@fz9w; z>yM}eRH2F$3;`0ZqwZA{xO|R6{dyGCqlFFr=x+ zVb3`wN)WIWVHiQz(-i!MdO@ktAyjCJx;VwbYc2khpjlgoenN8sm-+91-XSq4nC3GI zA0b^p$RXaG2UaF%X7u~;8bR0Xh-GuXm4dgE*w4|)~iXpBUD@DHE2fMNO(y<&(;%S@F)0SOF zov80@dOh*2#FLb!edm6{>x7cFLL&Z?^h2m08fM?AWy==eM)LaDPQ6Y16+%4usd&4s zcLmRq?yU|J??HSiK1$d}JRNlfbY`d6L?-5v9>YxsFqzQMHuN}UGYI1d9)hm7t%vX& z;aLLTC&B9_L-5bj{Q0C!pTi%h^PH&{aE93i?xElUnQz*P|C?8B#v>R{@Dm!_d)IKE zcDSx(gyA-yBOd&!T7~6hQY5tqp!VcWjiPDv%PojtPm#8D7E1$5LvZ7$>?>{P0 zPj5CYg&=!^9FA^ig6U&L+DTFOu^TvYrVCeN&fZc zCi34S)Fr10;Y;EVU~hs;d;<38Iai7I!}Be%uB6(Bs z3tOhIAwD0Su7ppu|EJj6Gi`;pNKYodAMeLIunnPsotf#jUKR3m4IuwF@&*#_v~_+U zzcOL9t=kWuCq0`mgzy;QL-NK4&mW0F-1s9FUo|N#Nn#-Rx7o~&#QAa#UixCX^%`LF zL#T6<_(z1Q#P33V#C$+#O8Oz}e(Q~P{{^$k+lSnX*@O|?&;;8MHc_KCjv+XNj_@}SmV#4QnrD7X{3+tPg6;Pp^K+YVg3O!5d)f3P((Q@gMhGYV zjm_VOACdlrP=?Tv^hk{3S-Khsk z91fQ76HOg`kUT+HOt_QuD})%r_oVM8yg;}~(6xsUOQ>R>_ZIbvuNA~!=kFiRd?IxS z@7R)`uma%|n=VUPRU41zL4Vq~SYhK2V>QZVQCC+K;bp=bgoXr{plh2gpJ$RzVt||8 zCvz+w#19CkY~f|%oyZ@FHE{#^3kmNLZX?}-P>-<1)*p&VgwoW%_3A>MSc0ytgx-`7 z$N7Z7H4@z@tWM$>@g4XN>`WL>SVX$`>PtG5(3VhqHR0arB=T(DFsRW0L83n8#n(&ZT_Q{)94F`sl&3<1i8~LFS(nh$-t?5s zk0ia9cot<};RwQ2TQ-Ee#|UYJc7%_~--9#pqOBwD;2EFeDEv28#|QP%{UDWfRWtjUjEmPWe4|na=HLH7Zf$L3A&z#}Z?ZcjGu!p%@qB--Z9a~U`?6>< zHAnUHvVH%(4W1dVG4PNCe@?E~pX|#iZZ1^q<=20#N`S%WL215OZnD?!W_bPHslGTj zVT$X|^!r?IwmOyWOV0I8jtve|HB-Dft~Z(I1*al@&>*J6w($S(3R!F%(CTsr&cKw=h(H%Z|$#Ax_I64 zPmk|b$|edb-sSg%^_iKKnVp+IYr?q7BYf$Z-pNjITHFynx=g{53H{6bHA4kuCsy+m z-=E*y+p-|q8(X4wd|qy528*BUX6L2*I=dq>^KyOeuuQhZtb)PG>q-^hQgC6~pb}+l z`<>l_#u>|Nmh6+5G-62pOAl-=H`V87*Klia@e4*QJ`fcdTB=n}okI{~k!Jo0glI%^hk#(@irI=w=k|Dte7goR#gJp8v#w=m7QpD%#*?Wfwl5 zlbe_2rscV#ik|M1II!@E!GAZ(?EU|pG<{6<-qNw64R$}L(GhPNy>_$y8cG(2DL3-g z-f3g+e6vnedAp*)rJ0nOzNUV-r)tD4nQOY0^;9nx=h&>^w#cu2Y-qS03QJnxJ$Bd= z<}KIYZl*ES$NztYsZC`gWcxI;oPd=djt&2NnhP#`*wIt9 zc#gDJq8r8dy&1lyInf2*eYCzrv%gM*2B~>Xot&Q8+0DuDWwXVSQ@xBiJvBEq&0DbS zWYaPcw>+z0$EO=hl)WW`Gt%qQT({(cQ6u6L*X$4V?5sG#oCUL6gRjCp{*s=EO3}eX e<1#&N;VZm1iZ<|qvImFC?7z4@Gpl>nm;N7U9qA;qFA+|IXR2y3rwW^fHtfFygG@^^FP(5#m>T!y*Eo!s&boFCUH=cl++Bv8O z7NhRB1xw*xR7Y;1I_T@=*|iSoW!ESYlc=bLF*pd-!3C%ee1s)&9hSuduKWS2;cTzj z26JOh^2Jf*Wl>XK+0{2jEmY%V@i|vI+M_aqfxtl1!|<5P(9p@Me#6d>TaN>@(BiF zsXn$NF&Iof5i4Os)UNN3y6^j_`_4h#Z@De^%r_*|!-Loa1N$1&44YyKW?*(aiR#dK z)J)w%O=-{@_J+k!^);LgQ6p@DYB(L$kx{4tO!wzm|Mjk72dbf;FbAGQU3dYt+3ukl z%-7Evjar)8s1Bu|8t8%>Fda2RrTg2ZD~GyYP0WeOlJ-qY5?ad+?u5Rm8xBW3-!oCq z{Yun@S(q1hVG#c4^2eQ*QB(f_)nM*7?VGU}<|Utkx^Elwv}S!>#URugkH%a$8&$sq zH6trg9ryw@6IrOo>maJbzhE7Fh?oR8KOV>YBym5<{@7nwFJ#EKeomgA8$U?h^D+{H`zSY5`Bo;6Dv^He~KFM zSJ()5VpR+pX7B6OB%!IThpKo1tK+-Q_1K>LCFJdF>b-4D04_x}upHI!dS@1@V>?kD zK8V^g=TI|s9mDXEt@ljc;kG9wu^|;Ps1EgZ4ntiq0rfsugn9-4iZ7yXguQVZ>bh64 z5)MF(d@*Y3S78k9M=jk0ETBaW9ckAn8uh$BhZ<2cRL@(ZM${RrVIS1U7NM4AEvn&- zs3qKm1@S8CyvL~fg}h@sR0MUu(wIY=tO^OOS%Rymhw6DM>c(wQH|&YwI2D_>dXHlMqex7ppb&nB@wgL<;~%IIhcZo-u_Efc zj;NVQN6nOnTB^yY0nA1<@F8jd-=W@oyHNx93AH5WbfIo|4dd_$Y7OH?+fCF4H8W!{ z6vv~MVgZ)J&rzH0C~8Ksjj@|EAF4xDuqGy=8h#Vik&&p5Px4&FY)qtJDeA^2odNIJ z8^&T?%2QD@F&;I=8?g=^#u}Jsti8SwY6<&bQ%py7@GH~+c3~=dCrFebQRaR7{6CMS z$q&OWxDd4@k5CO%8fTw^ZWv8I0|W6Z)Bv`j-XDLUMjSidZngx}M6)J ziDkwTSb+A;w-aTO;IDC zhAFrdbK+H02kuQ}{;QBM)9jj5Ma@JlY>FwU4o$~gI3IK4GOUH`T=`|xn*N4r;7`Bm`An5p|!M7=#T!VE$E*LO~>^VMQE>dUGvCP30EU)E;<hpigO#5m1 z>ny%MQeGy*nCEd2R=_N*jTbQ$OU}0MiPur(%TRmAJ42!YiEMND9Ka@66IWv_{(_%l zuDN_~!>=)j4#dy1YnnLU&Y*`{s>!HLn1Q8mGiu}~T>dI*>T@md&kVo+lhD+bMBN|> zHKobupDN5oJ`ME-Y>TyV7HVqup_b$%YK_mk{0-F7-NS;IZK2&;;aHS>dB3cGV-m$E zcm>t)F!WCiYHzGSt<@K(52bC+6BtAOcbAV?WCxIl8et>U_0MA{w!$#%g=%Lw`oI5= zA)%2>!B21j7Q%)f+Mc&VjqDB73=Kt%Y?O04YD6EQ8p=X7v>)|2o_G2CsOy3k+xv#2 zmqbBj654!yP;0f)xe4`D>~>y4bu8#V_SmsrK7BtLtNeJb*@ zQ=f2tjdix+8tWMh_sK$ar27WGNmG9n({$cOk4J&U8vms+-?NKiw{S8yzW*H?jT1iK z#qWQV2kzmoUzA_n$A#Qz%0asc&)^WwD{{!bkft8C?~k2WmhIgXlv8?HX& zq;0SWY9`C01{Q}}vaYC^8Hj~&E{4#)SxZ7U+=AhF08{Y_YGl<;*$#EVg5>*Q430r< zvQ?<1I)G~U5~{&ls2Ooj-7wVBEJclU4QgatuofOdEm80}+tFB5eO)YpY3Dq<7U>jJreGYlz)Wn5 z=Df|fLp8Jv{d)sTlF!0ocmj392dF(0`l~e@)zOle2b-d1vMokoPtO&MLydGc=ENl~ zzZx~Nji@Erjhcb$&TJR#V;6x@l*gg!)9?`XMRh#sqCGDeHNzcHOXs~oLOpsHi{Mn$ z?p%(Mn1#jhBx>Tyd#b+j?+F>8$x*aOwzXiUHiSHBmzzh_R7(1`zb z6+xG61BFmur7ELtSlgM3T7r(KDesMX@r-l%1=xuEX4G0g!m=20#m-O-XIpHe=l?Ad zy*Obn_QYyenGKwaU9sRbd*Kl09IQ_HCM<{7u_cCHw|k-+>Tw+HoQK*|pQ8r!H|E0N z8{C`rO(=<~SPpYyd+dnaa1?IAD6DhSzEV439r6=U*X=;9HwM@t6xE?#>V+_Jh_w45ChMLkL zP7m{vpNty7d{jGMU?^re_upgwHG*^QggaQD{3FbdiTCY@QZbTzCrrhWSP^$)2mB4S zNt->eo9<<-O+Fpfk=3a4H)CbIfMu|N_q*LRHL(f>ZBSD-7B#}DSO90CMzS0=BU>>H z|3!@~^bgx`1Zq=OL%jz&qRtzHT9WZt7-yjd=&g1YS*V%Vg9Y(t)RbOFb>Mf@^Bnxp zb~qZN$TvZaq$g^ICZgUKt57qt%hex2jr>p4{bK&~cfd1=BsAhw)TV2Ny09Z^2KqSD zQ7@pOSOjNaVO-_%-@5!U%trZbERXlF0v3N{JN_KDC*Koe^!#rn5l_JdjKacy+23pu zP&XKbn$ne62M@aPTz}iOt?q1uT8bAj4|c>Dd<}zf8fs?epq63{2GPFRL_%w^6>H;u z)Lsbw$A0yyg@NQdU?_IRLO1~R{Ex@#xCzzpb=1r}L~Xv1$M*4#K;>UXb>MaM{ErO@ zt%--4iJ7Pl>_WXT?qdmz`q#dg>SHbP^DzPsy7HTtNIvC>t@lt%xCxu#R#d~m#^-M@ z%=kS29|p=&5KBcr)D7lgX*`5o@IEGEE1%E5`{!YO@+VN|hX?rlGn9r26Ojre{~K+P0>u$h?k(2W*cgx2e2OAKyBIzfj<8X#iN#{E9xm4 zgsLBd+RT$t_gRSA3!kE9KGSn2e1mH602alYSQE4JySCP}E~#!JR zIe$jY;9X}}cAx+ILoKXGc_-YC-UJfranoSiKzmeA`=TDRkr;^?sNJ23C2<>SkDNx$ zNbVfA1F2Y+d{5NWPeyfg2`1q$uDp0opI%I!i6fy7B%>~Djd~9ZM@`{q)C^2Q^?a^# z2kOms8#QAAxoig_oC(;J@>Up)i(Gy?YQ}Qr*3x)9lO*a=5RDpnH`G)Q!mc`kKtpNkIQSP zyd74fd?@ODuoAVI)}kJ(jTnjBQ5`ym>c~CRz@DHsWBw3(eH41CC`&?{rxw0|Y4|=a z!J!zP&#v75)*wk5OwMQ_No20yXlNQ8$?CT#lOBt*-vA%a<;0 zm#7^UrhXP`^Q}g8?83U1sAaa#+I}v^hI4b95pjjQC~DR zpl);&E8%TdUOdw0|ANr~^>p+{Jq?3!8qPvJEm2W+z~!;1p8q-|G=es$hI(O7oPuib zF0$85^#D49IzAv?Cq`4TohV7&e)4g|bn-KB3jUW!qE7$2iig0zmo`v$k+hC^wD14B z?klL*qYgbPOWXDMTWP~Mf1GV3VU2G&uTv=05{tUj@gw3g@%SFXCJ z$0J+jZ{HjxQ~a5m>Lk4vbmXOcvQ3)qn9R8u#3tB6ygEtXOH2}kKQWomlc9sJ1OC77D}9Z08+?ZtKwKuT*R&qL z=A=I)D$wB{usvnnumJh?SPNU?CzSKx7;iQ|o~JN@0v$z352WnrQIEWi7|PD#6Vw+K zy+rhGA58EzHoU*gYT^a*dU5q7ts{!-Cn6se|L-_X?gKu5{IA7hWNNz;_`+gxbJ3ra z=@t9Xm6yZjt}_&ypNT(+xr9Ef&QO1wm`S<>=QSmLooGn<7mTD_Z@@FeHu5^&*8V?4 z;!6q|=|s}{Ao`GaOq8Ph0am201O7%#CE_T56?5TSq7?P7;ir^UCTSJ=p3Wq&>H%?W=J)!m7%$~55I@{}b~kVbSM&9^CYgLsL2Cw!l%Md)b4 z`O92-Co)#k)U}t2FOv84hU3%Kf4qd#h%9njU0D?Amx;#i!tJEXxb!*FUI==P2nKq=QID;VzwoI+|fwt$$N8%ZM+Ct;9GYjmj0MuU)5zbwmX57v&?|4K`vO z%HF}N#CW0}`R8aXC+V+=o8)!qyFgjW+u;eKHt8zV+c|+IWNH#sRK`)7s7O@dM15MN zQDCqh&8V8 zYtm1TS6tcC`~?#45u1q5pQ#I`LnSF|K-qoNF~QXrAian57sNT@y1&-`o8p^Ve;plN zq4%px-DaZpC1@uN1oD3qxruLx zK9mKaj&Y>>;C^Ik%@NFld9e+lV;>Re2J&ChmsH3xgZe8Um=dES+`#t35IGj&R?(hseF zGvc&6`I^$izeEwr#=7$P1Fxc%lc9gEAd?=*SK%hdRpRRqX1|*&lsj z7T5HATGp0Cc23;r3W`%%kbG70S)})3Y4Y7k4W&G|$mmfa^FWUfUuMBxu>qN#dM^yl z3`|cB$ZS7wLa~fXQ$Eg|KXq&V%pr^Kl+X0OFOfgv{_&QXZBOj*Wt2PBKV#3Sw9HDU vEBi9%o*5dDS?gT+oSB2K%@4>deRFWsyv2EZ>o#}I>&q3kd1{nzQI7uuzNFbc diff --git a/locale/sk/LC_MESSAGES/django.po b/locale/sk/LC_MESSAGES/django.po index b86aed3..2def498 100644 --- a/locale/sk/LC_MESSAGES/django.po +++ b/locale/sk/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-09 20:13-0300\n" +"POT-Creation-Date: 2026-02-09 22:07-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,51 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n " ">= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" -#: cluster/forms.py:18 dns/forms.py:111 routing_templates/forms.py:28 +#: api_v2/forms.py:29 cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 +#: dns/forms.py:67 dns/forms.py:109 routing_templates/forms.py:36 +#: templates/firewall/manage_firewall_rule.html:380 +#: templates/firewall/manage_firewall_settings.html:60 +#: templates/firewall/manage_redirect_rule.html:85 +#: templates/wireguard/apply_route_template.html:63 +#: templates/wireguard/peer_list/peer_preview_modal.html:79 +#: templates/wireguard/wireguard_manage_ip.html:42 user_manager/forms.py:49 +#: user_manager/forms.py:180 vpn_invite/forms.py:192 vpn_invite/forms.py:326 +#: wireguard/forms.py:51 wireguard_peer/forms.py:27 wireguard_peer/forms.py:156 +#: wireguard_peer/forms.py:210 +msgid "Back" +msgstr "Späť" + +#: api_v2/forms.py:30 cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 +#: routing_templates/forms.py:37 +#: templates/firewall/manage_firewall_rule.html:382 +#: templates/firewall/manage_redirect_rule.html:86 +#: templates/scheduler/scheduleprofile_form.html:127 +#: templates/scheduler/scheduleprofile_list.html:29 +#: templates/wireguard/peer_list/peer_preview_modal.html:109 +#: templates/wireguard/wireguard_manage_ip.html:43 user_manager/forms.py:48 +#: user_manager/forms.py:181 wireguard/forms.py:52 +msgid "Delete" +msgstr "Vymazať" + +#: api_v2/forms.py:31 +msgid "Regenerate Token" +msgstr "Regenerovať token" + +#: api_v2/forms.py:63 cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 +#: dns/forms.py:83 dns/forms.py:134 routing_templates/forms.py:71 +#: scheduler/forms.py:102 templates/firewall/manage_firewall_rule.html:379 +#: templates/firewall/manage_firewall_settings.html:59 +#: templates/firewall/manage_redirect_rule.html:84 +#: templates/scheduler/scheduleprofile_form.html:200 +#: templates/wireguard/wireguard_manage_ip.html:41 user_manager/forms.py:98 +#: user_manager/forms.py:205 vpn_invite/forms.py:191 vpn_invite/forms.py:325 +#: wireguard/forms.py:100 wireguard_peer/forms.py:26 +#: wireguard_peer/forms.py:205 +msgid "Save" +msgstr "Uložiť" + +#: api_v2/models.py:10 cluster/forms.py:18 dns/forms.py:111 +#: routing_templates/forms.py:28 templates/api_v2/list.html:8 #: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 #: templates/routing_templates/list.html:8 #: templates/scheduler/scheduleprofile_list.html:13 @@ -30,11 +74,94 @@ msgstr "" msgid "Name" msgstr "Názov" -#: cluster/forms.py:19 templates/cluster/workers_list.html:96 +#: api_v2/models.py:11 cluster/forms.py:25 templates/api_v2/list.html:9 +msgid "Token" +msgstr "Token" + +#: api_v2/models.py:12 templates/api_v2/list.html:10 +msgid "Allowed Instances" +msgstr "Povolené inštancie" + +#: api_v2/models.py:13 templates/api_v2/list.html:12 +msgid "Allow Restart" +msgstr "Povoliť reštart" + +#: api_v2/models.py:14 templates/api_v2/list.html:13 +msgid "Allow Reload" +msgstr "Povoliť opätovné načítanie" + +#: api_v2/models.py:15 templates/api_v2/list.html:14 +msgid "Allow Export" +msgstr "Povoliť export" + +#: api_v2/models.py:16 cluster/forms.py:19 templates/api_v2/list.html:11 +#: templates/api_v2/list.html:41 templates/cluster/workers_list.html:96 #: vpn_invite/forms.py:49 vpn_invite/forms.py:294 msgid "Enabled" msgstr "Povolené" +#: api_v2/views.py:16 api_v2/views.py:26 api_v2/views.py:81 cluster/views.py:18 +#: cluster/views.py:45 cluster/views.py:114 templates/access_denied.html:9 +msgid "Access Denied" +msgstr "Prístup zamietnutý" + +#: api_v2/views.py:18 templates/template_parts/base_sidebar.html:108 +msgid "API Keys" +msgstr "Kľúče API" + +#: api_v2/views.py:31 +msgid "Edit API Key: " +msgstr "Upraviť kľúč API: " + +#: api_v2/views.py:34 templates/api_v2/list.html:80 +msgid "Add API Key" +msgstr "Pridať kľúč API" + +#: api_v2/views.py:45 +msgid "Token regenerated successfully." +msgstr "Token bol úspešne regenerovaný." + +#: api_v2/views.py:50 +msgid "API Key saved successfully." +msgstr "Kľúč API bol úspešne uložený." + +#: api_v2/views.py:60 +msgid "" +"\n" +"
API Keys
\n" +"

API Keys allow external applications to interact with the " +"WireGuard WebAdmin API.

\n" +"

Token: The secret token used for authentication. " +"Keep this secure.

\n" +"

Allowed Instances: The WireGuard instances this " +"key can manage. If none are selected, the key has access to ALL instances.\n" +"

Permissions: specific actions allowed for this " +"key.

\n" +" " +msgstr "" +"\n" +"
Kľúče API
\n" +"

Kľúče API umožňujú externým aplikáciám komunikovať s API WireGuard WebAdmin.

\n" +"

Token: Tajný token používaný na autentifikáciu. Uchovávajte ho v bezpečí.

\n" +"

Povolené inštancie: Inštancie WireGuard, ktoré tento kľúč " +"môže spravovať. Ak nie sú vybrané žiadne, kľúč má prístup ku VŠETKÝM inštanciám.

\n" +"

Povolenia: špecifické akcie povolené pre tento kľúč.

\n" +" " + +#: api_v2/views.py:87 +msgid "API Key deleted successfully." +msgstr "Kľúč API bol úspešne vymazaný." + +#: api_v2/views.py:92 +msgid "Delete API Key" +msgstr "Vymazať kľúč API" + +#: api_v2/views.py:94 +#, python-format +msgid "Are you sure you want to delete the API Key \"%(name)s\"?" +msgstr "Ste si istí, že chcete odstrániť kľúč API \"%(name)s\"?" + #: cluster/forms.py:20 msgid "IP Lock" msgstr "IP zámok" @@ -61,49 +188,6 @@ msgstr "Mesto" msgid "Hostname" msgstr "Názov hostiteľa" -#: cluster/forms.py:25 -msgid "Token" -msgstr "Token" - -#: cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 dns/forms.py:67 -#: dns/forms.py:109 routing_templates/forms.py:36 -#: templates/firewall/manage_firewall_rule.html:380 -#: templates/firewall/manage_firewall_settings.html:60 -#: templates/firewall/manage_redirect_rule.html:85 -#: templates/wireguard/apply_route_template.html:63 -#: templates/wireguard/peer_list/peer_preview_modal.html:79 -#: templates/wireguard/wireguard_manage_ip.html:42 user_manager/forms.py:49 -#: user_manager/forms.py:180 vpn_invite/forms.py:192 vpn_invite/forms.py:326 -#: wireguard/forms.py:51 wireguard_peer/forms.py:27 wireguard_peer/forms.py:156 -#: wireguard_peer/forms.py:210 -msgid "Back" -msgstr "Späť" - -#: cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 -#: routing_templates/forms.py:37 -#: templates/firewall/manage_firewall_rule.html:382 -#: templates/firewall/manage_redirect_rule.html:86 -#: templates/scheduler/scheduleprofile_form.html:127 -#: templates/scheduler/scheduleprofile_list.html:29 -#: templates/wireguard/peer_list/peer_preview_modal.html:109 -#: templates/wireguard/wireguard_manage_ip.html:43 user_manager/forms.py:48 -#: user_manager/forms.py:181 wireguard/forms.py:52 -msgid "Delete" -msgstr "Vymazať" - -#: cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 dns/forms.py:83 -#: dns/forms.py:134 routing_templates/forms.py:70 scheduler/forms.py:102 -#: templates/firewall/manage_firewall_rule.html:379 -#: templates/firewall/manage_firewall_settings.html:59 -#: templates/firewall/manage_redirect_rule.html:84 -#: templates/scheduler/scheduleprofile_form.html:200 -#: templates/wireguard/wireguard_manage_ip.html:41 user_manager/forms.py:98 -#: user_manager/forms.py:205 vpn_invite/forms.py:191 vpn_invite/forms.py:325 -#: wireguard/forms.py:100 wireguard_peer/forms.py:26 -#: wireguard_peer/forms.py:205 -msgid "Save" -msgstr "Uložiť" - #: cluster/forms.py:82 msgid "A worker with that name already exists." msgstr "Worker s týmto názvom už existuje." @@ -162,12 +246,7 @@ msgstr "" msgid "Worker update is required." msgstr "Vyžaduje sa aktualizácia workera." -#: cluster/views.py:18 cluster/views.py:45 cluster/views.py:114 -#: templates/access_denied.html:9 -msgid "Access Denied" -msgstr "Prístup zamietnutý" - -#: cluster/views.py:21 templates/template_parts/base_sidebar.html:107 +#: cluster/views.py:21 templates/template_parts/base_sidebar.html:117 msgid "Cluster" msgstr "Cluster" @@ -727,11 +806,11 @@ msgstr "Povoliť Vlastné Trasy Peera" msgid "Enforce Route Policy" msgstr "Vynútiť Smerovaciu Politiku" -#: routing_templates/forms.py:90 +#: routing_templates/forms.py:91 msgid "Custom routes should be empty when Route Type is 'Default Route'." msgstr "Vlastné trasy by mali byť prázdne, ak je Typ trasy 'Predvolená trasa'." -#: routing_templates/forms.py:95 +#: routing_templates/forms.py:96 msgid "" "Allowing peer custom routes is not applicable when Route Type is 'Default " "Route'." @@ -739,11 +818,11 @@ msgstr "" "Povolenie vlastných trás peera nie je možné, ak je Typ trasy 'Predvolená " "trasa'." -#: routing_templates/forms.py:102 +#: routing_templates/forms.py:103 msgid "At least one route must be provided when Route Type is 'Custom'." msgstr "Pri type trasy 'Vlastná' musí byť zadaná aspoň jedna trasa." -#: routing_templates/forms.py:113 routing_templates/forms.py:123 +#: routing_templates/forms.py:114 routing_templates/forms.py:124 #, python-format msgid "" "Invalid route format: '%(line)s'. Please use CIDR notation (e.g., " @@ -752,14 +831,14 @@ msgstr "" "Neplatný formát trasy: '%(line)s'. Použite prosím notáciu CIDR (napr. " "10.0.0.0/24)." -#: routing_templates/forms.py:131 +#: routing_templates/forms.py:132 #, python-format msgid "" "The route %(route)s is not allowed. Use the 'Default Route' type instead." msgstr "" "Trasa %(route)s nie je povolená. Použite radšej typ 'Predvolená trasa'." -#: routing_templates/forms.py:139 +#: routing_templates/forms.py:140 #, python-format msgid "" "'%(line)s' is not a network address. Use the network address (e.g., " @@ -1030,6 +1109,25 @@ msgstr "Boli ste úspešne odhlásený." msgid "Login again" msgstr "Prihlásiť sa znovu" +#: templates/api_v2/list.html:36 templates/user_manager/list.html:26 +msgid "All" +msgstr "Všetko" + +#: templates/api_v2/list.html:43 vpn_invite/forms.py:49 +msgid "Disabled" +msgstr "Zakázané" + +#: templates/api_v2/list.html:68 templates/cluster/workers_list.html:77 +#: templates/dns/static_host_list.html:74 +#: templates/routing_templates/list.html:29 +#: templates/scheduler/scheduleprofile_form.html:123 +#: templates/scheduler/scheduleprofile_list.html:25 +#: templates/user_manager/list.html:53 +#: templates/user_manager/peer_group_list.html:35 +#: templates/wireguard/peer_list/peer_preview_modal.html:137 +msgid "Edit" +msgstr "Upraviť" + #: templates/cluster/workers_list.html:9 templates/dns/static_host_list.html:72 #: templates/scheduler/scheduleprofile_form.html:82 #: templates/template_parts/base_sidebar.html:13 vpn_invite/forms.py:78 @@ -1080,17 +1178,6 @@ msgstr "Nikdy" msgid "Last seen more than 10 minutes ago or never seen." msgstr "Naposledy videný pred viac ako 10 minútami alebo nikdy videný." -#: templates/cluster/workers_list.html:77 -#: templates/dns/static_host_list.html:74 -#: templates/routing_templates/list.html:29 -#: templates/scheduler/scheduleprofile_form.html:123 -#: templates/scheduler/scheduleprofile_list.html:25 -#: templates/user_manager/list.html:53 -#: templates/user_manager/peer_group_list.html:35 -#: templates/wireguard/peer_list/peer_preview_modal.html:137 -msgid "Edit" -msgstr "Upraviť" - #: templates/cluster/workers_list.html:82 msgid "No workers configured" msgstr "Nie sú nakonfigurovaní žiadni workery" @@ -1270,14 +1357,12 @@ msgid "all" msgstr "všetko" #: templates/firewall/firewall_rule_list.html:69 -#, fuzzy -#| msgid "Enforce Route Policy" msgid "Automatic rule: Route Policy" -msgstr "Vynútiť Smerovaciu Politiku" +msgstr "Automatické pravidlo: smerovacia politika" #: templates/firewall/firewall_rule_list.html:77 msgid "RETURN" -msgstr "" +msgstr "NÁVRAT" #: templates/firewall/firewall_rule_list.html:85 #: templates/firewall/firewall_rule_list.html:111 @@ -1738,10 +1823,6 @@ msgstr "Peer skupiny" msgid "Permissions" msgstr "Oprávnenia" -#: templates/user_manager/list.html:26 -msgid "All" -msgstr "Všetko" - #: templates/user_manager/list.html:31 msgid "Restart Enabled" msgstr "Reštart povolený" @@ -2630,10 +2711,6 @@ msgstr "" msgid "Please type the username to proceed." msgstr "Prosím zadajte používateľské meno na pokračovanie." -#: vpn_invite/forms.py:49 -msgid "Disabled" -msgstr "Zakázané" - #: vpn_invite/forms.py:68 vpn_invite/forms.py:69 vpn_invite/forms.py:70 #: vpn_invite/forms.py:71 vpn_invite/forms.py:72 msgid "URL" @@ -3330,8 +3407,5 @@ msgstr "" #~ msgid "Force Reload" #~ msgstr "Vynútiť načítanie" -#~ msgid "Force Restart" -#~ msgstr "Vynútiť reštart" - #~ msgid "Options" #~ msgstr "Možnosti"