update translations

This commit is contained in:
Eduardo Silva
2026-03-15 17:21:24 -03:00
parent 14bd4e8ccc
commit a6de7fb3d0
10 changed files with 1438 additions and 836 deletions

Binary file not shown.

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-14 11:54-0300\n" "POT-Creation-Date: 2026-03-15 17:20-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -38,12 +38,12 @@ msgstr "Zurück"
#: templates/app_gateway/application_details.html:125 #: templates/app_gateway/application_details.html:125
#: templates/firewall/manage_firewall_rule.html:382 #: templates/firewall/manage_firewall_rule.html:382
#: templates/firewall/manage_redirect_rule.html:86 #: templates/firewall/manage_redirect_rule.html:86
#: templates/gatekeeper/gatekeeper_list.html:77 #: templates/gatekeeper/gatekeeper_list.html:93
#: templates/gatekeeper/gatekeeper_list.html:120 #: templates/gatekeeper/gatekeeper_list.html:136
#: templates/gatekeeper/gatekeeper_list.html:165 #: templates/gatekeeper/gatekeeper_list.html:181
#: templates/gatekeeper/gatekeeper_list.html:213 #: templates/gatekeeper/gatekeeper_list.html:229
#: templates/gatekeeper/gatekeeper_list.html:230 #: templates/gatekeeper/gatekeeper_list.html:246
#: templates/gatekeeper/gatekeeper_list.html:282 #: templates/gatekeeper/gatekeeper_list.html:298
#: templates/scheduler/scheduleprofile_form.html:127 #: templates/scheduler/scheduleprofile_form.html:127
#: templates/scheduler/scheduleprofile_list.html:29 #: templates/scheduler/scheduleprofile_list.html:29
#: templates/wireguard/peer_list/peer_preview_modal.html:109 #: templates/wireguard/peer_list/peer_preview_modal.html:109
@@ -65,11 +65,11 @@ msgstr ""
"wird sofort ungültig." "wird sofort ungültig."
#: api_v2/forms.py:63 app_gateway/forms.py:40 app_gateway/forms.py:92 #: api_v2/forms.py:63 app_gateway/forms.py:40 app_gateway/forms.py:92
#: app_gateway/forms.py:136 app_gateway/forms.py:154 app_gateway/forms.py:226 #: app_gateway/forms.py:136 app_gateway/forms.py:154 app_gateway/forms.py:237
#: app_gateway/forms.py:267 cluster/forms.py:67 cluster/forms.py:124 #: app_gateway/forms.py:278 cluster/forms.py:67 cluster/forms.py:124
#: dns/forms.py:37 dns/forms.py:84 dns/forms.py:153 gatekeeper/forms.py:41 #: dns/forms.py:37 dns/forms.py:84 dns/forms.py:153 gatekeeper/forms.py:70
#: gatekeeper/forms.py:75 gatekeeper/forms.py:139 gatekeeper/forms.py:226 #: gatekeeper/forms.py:150 gatekeeper/forms.py:212 gatekeeper/forms.py:299
#: gatekeeper/forms.py:256 gatekeeper/forms.py:287 #: gatekeeper/forms.py:329 gatekeeper/forms.py:360
#: routing_templates/forms.py:71 scheduler/forms.py:102 #: routing_templates/forms.py:71 scheduler/forms.py:102
#: templates/firewall/manage_firewall_rule.html:379 #: templates/firewall/manage_firewall_rule.html:379
#: templates/firewall/manage_firewall_settings.html:59 #: templates/firewall/manage_firewall_settings.html:59
@@ -83,13 +83,13 @@ msgid "Save"
msgstr "Speichern" msgstr "Speichern"
#: api_v2/models.py:10 app_gateway/forms.py:18 app_gateway/forms.py:106 #: api_v2/models.py:10 app_gateway/forms.py:18 app_gateway/forms.py:106
#: cluster/forms.py:18 dns/forms.py:130 gatekeeper/forms.py:99 #: cluster/forms.py:18 dns/forms.py:130 gatekeeper/forms.py:174
#: routing_templates/forms.py:28 templates/api_v2/api_documentation.html:47 #: routing_templates/forms.py:28 templates/api_v2/api_documentation.html:47
#: templates/api_v2/list.html:8 templates/app_gateway/app_gateway_list.html:58 #: templates/api_v2/list.html:8 templates/app_gateway/app_gateway_list.html:58
#: templates/app_gateway/app_gateway_list.html:138 #: templates/app_gateway/app_gateway_list.html:138
#: templates/app_gateway/application_details.html:26 #: templates/app_gateway/application_details.html:26
#: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 #: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68
#: templates/gatekeeper/gatekeeper_list.html:149 #: templates/gatekeeper/gatekeeper_list.html:165
#: templates/routing_templates/list.html:8 #: templates/routing_templates/list.html:8
#: templates/scheduler/scheduleprofile_list.html:13 #: templates/scheduler/scheduleprofile_list.html:13
#: templates/user_manager/peer_group_list.html:8 #: templates/user_manager/peer_group_list.html:8
@@ -133,10 +133,10 @@ msgstr "Aktiviert"
#: app_gateway/views.py:293 app_gateway/views.py:328 app_gateway/views.py:354 #: app_gateway/views.py:293 app_gateway/views.py:328 app_gateway/views.py:354
#: app_gateway/views.py:404 app_gateway/views.py:432 cluster/views.py:18 #: app_gateway/views.py:404 app_gateway/views.py:432 cluster/views.py:18
#: cluster/views.py:45 cluster/views.py:114 gatekeeper/views.py:23 #: cluster/views.py:45 cluster/views.py:114 gatekeeper/views.py:23
#: gatekeeper/views.py:48 gatekeeper/views.py:78 gatekeeper/views.py:101 #: gatekeeper/views.py:48 gatekeeper/views.py:98 gatekeeper/views.py:121
#: gatekeeper/views.py:131 gatekeeper/views.py:154 gatekeeper/views.py:202 #: gatekeeper/views.py:151 gatekeeper/views.py:174 gatekeeper/views.py:222
#: gatekeeper/views.py:261 gatekeeper/views.py:291 gatekeeper/views.py:314 #: gatekeeper/views.py:281 gatekeeper/views.py:311 gatekeeper/views.py:334
#: gatekeeper/views.py:344 gatekeeper/views.py:367 gatekeeper/views.py:416 #: gatekeeper/views.py:364 gatekeeper/views.py:387 gatekeeper/views.py:436
#: templates/access_denied.html:9 #: templates/access_denied.html:9
msgid "Access Denied" msgid "Access Denied"
msgstr "Zugriff verweigert" msgstr "Zugriff verweigert"
@@ -218,9 +218,9 @@ msgid "Upstream"
msgstr "Upstream" msgstr "Upstream"
#: app_gateway/forms.py:41 app_gateway/forms.py:93 app_gateway/forms.py:137 #: app_gateway/forms.py:41 app_gateway/forms.py:93 app_gateway/forms.py:137
#: app_gateway/forms.py:155 app_gateway/forms.py:227 app_gateway/forms.py:268 #: app_gateway/forms.py:155 app_gateway/forms.py:238 app_gateway/forms.py:279
#: gatekeeper/forms.py:42 gatekeeper/forms.py:76 gatekeeper/forms.py:140 #: gatekeeper/forms.py:71 gatekeeper/forms.py:151 gatekeeper/forms.py:213
#: gatekeeper/forms.py:227 gatekeeper/forms.py:257 gatekeeper/forms.py:288 #: gatekeeper/forms.py:300 gatekeeper/forms.py:330 gatekeeper/forms.py:361
#: scheduler/forms.py:103 #: scheduler/forms.py:103
#: templates/app_gateway/access_policy_type_select.html:50 #: templates/app_gateway/access_policy_type_select.html:50
#: templates/generic_delete_confirmation.html:19 #: templates/generic_delete_confirmation.html:19
@@ -266,20 +266,28 @@ msgstr "Erlaubte Gruppen"
msgid "Authentication Methods" msgid "Authentication Methods"
msgstr "Authentifizierungsmethoden" msgstr "Authentifizierungsmethoden"
#: app_gateway/forms.py:185 #: app_gateway/forms.py:188
msgid "Cannot select more than one Local Password authentication method." msgid "Cannot select more than one Local Password authentication method."
msgstr "" msgstr ""
"Es kann nicht mehr als eine lokale Passwort-Authentifizierungsmethode " "Es kann nicht mehr als eine lokale Passwort-Authentifizierungsmethode "
"ausgewählt werden." "ausgewählt werden."
#: app_gateway/forms.py:189 #: app_gateway/forms.py:192
msgid "" msgid ""
"Cannot select more than one OpenID Connect (OIDC) authentication method." "Cannot select more than one OpenID Connect (OIDC) authentication method."
msgstr "" msgstr ""
"Es kann nicht mehr als eine OpenID Connect (OIDC)-Authentifizierungsmethode " "Es kann nicht mehr als eine OpenID Connect (OIDC)-Authentifizierungsmethode "
"ausgewählt werden." "ausgewählt werden."
#: app_gateway/forms.py:193 #: app_gateway/forms.py:196
#, fuzzy
#| msgid "Cannot select more than one Local Password authentication method."
msgid "Cannot select more than one TOTP authentication method."
msgstr ""
"Es kann nicht mehr als eine lokale Passwort-Authentifizierungsmethode "
"ausgewählt werden."
#: app_gateway/forms.py:200
msgid "" msgid ""
"Cannot select both Local Password and OpenID Connect (OIDC) authentication " "Cannot select both Local Password and OpenID Connect (OIDC) authentication "
"methods." "methods."
@@ -287,7 +295,19 @@ msgstr ""
"Die Authentifizierungsmethoden \"Lokales Passwort\" und OpenID Connect " "Die Authentifizierungsmethoden \"Lokales Passwort\" und OpenID Connect "
"(OIDC) können nicht gleichzeitig ausgewählt werden." "(OIDC) können nicht gleichzeitig ausgewählt werden."
#: app_gateway/forms.py:197 #: app_gateway/forms.py:204
#, fuzzy
#| msgid ""
#| "Cannot select both Local Password and OpenID Connect (OIDC) "
#| "authentication methods."
msgid ""
"TOTP must be combined with a Local Password or OpenID Connect authentication "
"method."
msgstr ""
"Die Authentifizierungsmethoden \"Lokales Passwort\" und OpenID Connect "
"(OIDC) können nicht gleichzeitig ausgewählt werden."
#: app_gateway/forms.py:208
msgid "" msgid ""
"At least one user group must be selected when using Local Password " "At least one user group must be selected when using Local Password "
"authentication." "authentication."
@@ -295,31 +315,31 @@ msgstr ""
"Bei Verwendung der lokalen Passwort-Authentifizierung muss mindestens eine " "Bei Verwendung der lokalen Passwort-Authentifizierung muss mindestens eine "
"Benutzergruppe ausgewählt werden." "Benutzergruppe ausgewählt werden."
#: app_gateway/forms.py:201 #: app_gateway/forms.py:212
msgid "User groups can only be used with Local Password authentication." msgid "User groups can only be used with Local Password authentication."
msgstr "" msgstr ""
"Benutzergruppen können nur mit der lokalen Passwort-Authentifizierung " "Benutzergruppen können nur mit der lokalen Passwort-Authentifizierung "
"verwendet werden." "verwendet werden."
#: app_gateway/forms.py:211 templates/app_gateway/app_gateway_list.html:62 #: app_gateway/forms.py:222 templates/app_gateway/app_gateway_list.html:62
#: templates/app_gateway/application_details.html:31 #: templates/app_gateway/application_details.html:31
#: templates/firewall/firewall_nav_tabs.html:15 #: templates/firewall/firewall_nav_tabs.html:15
msgid "Default Policy" msgid "Default Policy"
msgstr "StandardRichtlinie" msgstr "StandardRichtlinie"
#: app_gateway/forms.py:240 templates/app_gateway/application_details.html:105 #: app_gateway/forms.py:251 templates/app_gateway/application_details.html:105
msgid "Route Name" msgid "Route Name"
msgstr "Routenname" msgstr "Routenname"
#: app_gateway/forms.py:241 templates/app_gateway/application_details.html:106 #: app_gateway/forms.py:252 templates/app_gateway/application_details.html:106
msgid "Path Prefix" msgid "Path Prefix"
msgstr "Pfadpräfix" msgstr "Pfadpräfix"
#: app_gateway/forms.py:242 templates/app_gateway/application_details.html:107 #: app_gateway/forms.py:253 templates/app_gateway/application_details.html:107
msgid "Policy" msgid "Policy"
msgstr "Richtlinie" msgstr "Richtlinie"
#: app_gateway/forms.py:243 templates/app_gateway/application_details.html:108 #: app_gateway/forms.py:254 templates/app_gateway/application_details.html:108
msgid "Order" msgid "Order"
msgstr "Reihenfolge" msgstr "Reihenfolge"
@@ -337,9 +357,9 @@ msgstr "Öffentlich"
msgid "Protected" msgid "Protected"
msgstr "Geschützt" msgstr "Geschützt"
#: app_gateway/models.py:45 gatekeeper/models.py:110 #: app_gateway/models.py:45 gatekeeper/models.py:108
#: templates/app_gateway/access_policy_type_select.html:41 #: templates/app_gateway/access_policy_type_select.html:41
#: templates/gatekeeper/gatekeeper_list.html:272 #: templates/gatekeeper/gatekeeper_list.html:288
msgid "Deny" msgid "Deny"
msgstr "Verweigern" msgstr "Verweigern"
@@ -627,11 +647,11 @@ msgid "Are you sure you want to delete the route \"%(name)s\" (%(path)s)?"
msgstr "" msgstr ""
"Sind Sie sicher, dass Sie die Route \"%(name)s\" (%(path)s) löschen möchten?" "Sind Sie sicher, dass Sie die Route \"%(name)s\" (%(path)s) löschen möchten?"
#: app_gateway/views.py:444 #: app_gateway/views.py:443
msgid "Configuration exported successfully." msgid "Configuration exported successfully."
msgstr "Konfiguration erfolgreich exportiert." msgstr "Konfiguration erfolgreich exportiert."
#: app_gateway/views.py:446 #: app_gateway/views.py:445
msgid "" msgid ""
"Caddy is not active. Configuration files were exported for debugging " "Caddy is not active. Configuration files were exported for debugging "
"purposes." "purposes."
@@ -643,13 +663,13 @@ msgstr ""
msgid "IP Lock" msgid "IP Lock"
msgstr "IP-Sperre" msgstr "IP-Sperre"
#: cluster/forms.py:21 dns/forms.py:67 gatekeeper/forms.py:198 #: cluster/forms.py:21 dns/forms.py:67 gatekeeper/forms.py:271
#: templates/cluster/workers_list.html:10 #: templates/cluster/workers_list.html:10
#: templates/dns/static_host_list.html:18 #: templates/dns/static_host_list.html:18
#: templates/firewall/manage_redirect_rule.html:43 #: templates/firewall/manage_redirect_rule.html:43
#: templates/firewall/manage_redirect_rule.html:67 #: templates/firewall/manage_redirect_rule.html:67
#: templates/firewall/manage_redirect_rule.html:68 #: templates/firewall/manage_redirect_rule.html:68
#: templates/gatekeeper/gatekeeper_list.html:256 #: templates/gatekeeper/gatekeeper_list.html:272
#: templates/wireguard/wireguard_status.html:45 #: templates/wireguard/wireguard_status.html:45
msgid "IP Address" msgid "IP Address"
msgstr "IPAdresse" msgstr "IPAdresse"
@@ -926,7 +946,7 @@ msgstr "Statischer DNS"
msgid "Invalid hostname." msgid "Invalid hostname."
msgstr "Ungültiger Hostname." msgstr "Ungültiger Hostname."
#: dns/forms.py:131 firewall/forms.py:111 gatekeeper/forms.py:201 #: dns/forms.py:131 firewall/forms.py:111 gatekeeper/forms.py:274
#: templates/api_v2/api_documentation.html:51 #: templates/api_v2/api_documentation.html:51
#: templates/dns/static_host_list.html:69 #: templates/dns/static_host_list.html:69
#: templates/firewall/manage_redirect_rule.html:18 #: templates/firewall/manage_redirect_rule.html:18
@@ -1261,43 +1281,29 @@ msgstr "FirewallEinstellungen verwalten"
msgid "Firewall settings saved successfully" msgid "Firewall settings saved successfully"
msgstr "FirewallEinstellungen erfolgreich gespeichert" msgstr "FirewallEinstellungen erfolgreich gespeichert"
#: gatekeeper/forms.py:17 templates/accounts/login.html:14 #: gatekeeper/forms.py:17 templates/accounts/login.html:23
#: templates/gatekeeper/gatekeeper_list.html:61
#: templates/user_manager/list.html:8 user_manager/forms.py:13
#: vpn_invite/forms.py:281
msgid "Username"
msgstr "Benutzername"
#: gatekeeper/forms.py:18 gatekeeper/forms.py:271
#: templates/gatekeeper/gatekeeper_list.html:62
#: templates/gatekeeper/gatekeeper_list.html:204
#: templates/wireguard/peer_list/peer_preview_modal.html:103
msgid "Email"
msgstr "EMail"
#: gatekeeper/forms.py:19 templates/accounts/login.html:23
#: templates/vpn_invite/invite_settings.html:19 user_manager/forms.py:14 #: templates/vpn_invite/invite_settings.html:19 user_manager/forms.py:14
#: vpn_invite/forms.py:282 #: vpn_invite/forms.py:282
msgid "Password" msgid "Password"
msgstr "Passwort" msgstr "Passwort"
#: gatekeeper/forms.py:20 #: gatekeeper/forms.py:20
msgid "TOTP Secret" msgid ""
msgstr "TOTP-Geheimnis" "Minimum 8 characters, with at least one uppercase letter, one lowercase "
"letter, and one number."
msgstr ""
#: gatekeeper/forms.py:55 templates/gatekeeper/gatekeeper_list.html:104 #: gatekeeper/forms.py:23
msgid "Group Name" #, fuzzy
msgstr "Gruppenname" #| msgid "Random Password"
msgid "Confirm Password"
msgstr "Zufallspasswort"
#: gatekeeper/forms.py:56 templates/gatekeeper/gatekeeper_list.html:105 #: gatekeeper/forms.py:28 gatekeeper/forms.py:161
msgid "Members"
msgstr "Mitglieder"
#: gatekeeper/forms.py:86
msgid "TOTP Validation PIN" msgid "TOTP Validation PIN"
msgstr "TOTP-Validierungs-PIN" msgstr "TOTP-Validierungs-PIN"
#: gatekeeper/forms.py:89 #: gatekeeper/forms.py:31 gatekeeper/forms.py:164
msgid "" msgid ""
"Enter a 6-digit PIN generated by your authenticator app to validate the " "Enter a 6-digit PIN generated by your authenticator app to validate the "
"secret." "secret."
@@ -1305,98 +1311,154 @@ msgstr ""
"Geben Sie eine 6-stellige PIN ein, die von Ihrer Authenticator-App generiert " "Geben Sie eine 6-stellige PIN ein, die von Ihrer Authenticator-App generiert "
"wurde, um das Geheimnis zu validieren." "wurde, um das Geheimnis zu validieren."
#: gatekeeper/forms.py:100 #: gatekeeper/forms.py:38 templates/accounts/login.html:14
#: templates/gatekeeper/gatekeeper_list.html:61
#: templates/user_manager/list.html:8 user_manager/forms.py:13
#: vpn_invite/forms.py:281
msgid "Username"
msgstr "Benutzername"
#: gatekeeper/forms.py:39 gatekeeper/forms.py:344
#: templates/gatekeeper/gatekeeper_list.html:62
#: templates/gatekeeper/gatekeeper_list.html:220
#: templates/wireguard/peer_list/peer_preview_modal.html:103
msgid "Email"
msgstr "EMail"
#: gatekeeper/forms.py:40
msgid "TOTP Secret"
msgstr "TOTP-Geheimnis"
#: gatekeeper/forms.py:87
#, fuzzy
#| msgid "Port is required."
msgid "Password is required."
msgstr "Port ist erforderlich."
#: gatekeeper/forms.py:90 user_manager/forms.py:127
msgid "Password must be at least 8 characters long."
msgstr "Das Passwort muss mindestens 8 Zeichen lang sein."
#: gatekeeper/forms.py:92
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one lowercase letter."
msgstr "Das Passwort muss mindestens 8 Zeichen lang sein."
#: gatekeeper/forms.py:94
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one uppercase letter."
msgstr "Das Passwort muss mindestens 8 Zeichen lang sein."
#: gatekeeper/forms.py:96
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one number."
msgstr "Das Passwort muss mindestens 8 Zeichen lang sein."
#: gatekeeper/forms.py:98
#, fuzzy
#| msgid "Password Confirmation"
msgid "Passwords do not match."
msgstr "Passwortbestätigung"
#: gatekeeper/forms.py:103 gatekeeper/forms.py:249
msgid "Please provide a PIN to validate the TOTP secret."
msgstr "Bitte geben Sie eine PIN an, um das TOTP-Geheimnis zu validieren."
#: gatekeeper/forms.py:108 gatekeeper/forms.py:254
msgid "Invalid TOTP PIN."
msgstr "Ungültige TOTP-PIN."
#: gatekeeper/forms.py:110 gatekeeper/forms.py:256
msgid "Invalid TOTP secret format. Must be a valid Base32 string."
msgstr ""
"Ungültiges TOTP-Geheimnisformat. Muss eine gültige Base32-Zeichenfolge sein."
#: gatekeeper/forms.py:130 templates/gatekeeper/gatekeeper_list.html:120
msgid "Group Name"
msgstr "Gruppenname"
#: gatekeeper/forms.py:131 templates/gatekeeper/gatekeeper_list.html:121
msgid "Members"
msgstr "Mitglieder"
#: gatekeeper/forms.py:175
msgid "Authentication Type" msgid "Authentication Type"
msgstr "Authentifizierungstyp" msgstr "Authentifizierungstyp"
#: gatekeeper/forms.py:101 #: gatekeeper/forms.py:176
msgid "Global TOTP Secret" msgid "Global TOTP Secret"
msgstr "Globales TOTP-Geheimnis" msgstr "Globales TOTP-Geheimnis"
#: gatekeeper/forms.py:102 #: gatekeeper/forms.py:177
msgid "Global TOTP Before Authentication"
msgstr "Globales TOTP vor der Authentifizierung"
#: gatekeeper/forms.py:103
msgid "OIDC Provider URL" msgid "OIDC Provider URL"
msgstr "OIDC-Anbieter-URL" msgstr "OIDC-Anbieter-URL"
#: gatekeeper/forms.py:104 #: gatekeeper/forms.py:178
msgid "OIDC Client ID" msgid "OIDC Client ID"
msgstr "OIDC-Client-ID" msgstr "OIDC-Client-ID"
#: gatekeeper/forms.py:105 #: gatekeeper/forms.py:179
msgid "OIDC Client Secret" msgid "OIDC Client Secret"
msgstr "OIDC-Client-Geheimnis" msgstr "OIDC-Client-Geheimnis"
#: gatekeeper/forms.py:157 #: gatekeeper/forms.py:230
msgid "TOTP secret must be empty for Local Password authentication." msgid "TOTP secret must be empty for Local Password authentication."
msgstr "" msgstr ""
"Das TOTP-Geheimnis muss für die Authentifizierung mit lokalem Passwort leer " "Das TOTP-Geheimnis muss für die Authentifizierung mit lokalem Passwort leer "
"sein." "sein."
#: gatekeeper/forms.py:159 #: gatekeeper/forms.py:232
msgid "TOTP validation PIN must be empty for Local Password authentication." msgid "TOTP validation PIN must be empty for Local Password authentication."
msgstr "" msgstr ""
"Die TOTP-Validierungs-PIN muss für die Authentifizierung mit lokalem " "Die TOTP-Validierungs-PIN muss für die Authentifizierung mit lokalem "
"Passwort leer sein." "Passwort leer sein."
#: gatekeeper/forms.py:161 #: gatekeeper/forms.py:234
msgid "OIDC fields must be empty for Local Password authentication." msgid "OIDC fields must be empty for Local Password authentication."
msgstr "" msgstr ""
"OIDC-Felder müssen für die Authentifizierung mit lokalem Passwort leer sein." "OIDC-Felder müssen für die Authentifizierung mit lokalem Passwort leer sein."
#: gatekeeper/forms.py:167 #: gatekeeper/forms.py:240
msgid "Only one Local Password authentication method can be configured." msgid "Only one Local Password authentication method can be configured."
msgstr "" msgstr ""
"Es kann nur eine Authentifizierungsmethode mit lokalem Passwort konfiguriert " "Es kann nur eine Authentifizierungsmethode mit lokalem Passwort konfiguriert "
"werden." "werden."
#: gatekeeper/forms.py:170 #: gatekeeper/forms.py:243
msgid "OIDC fields must be empty for TOTP authentication." msgid "OIDC fields must be empty for TOTP authentication."
msgstr "OIDC-Felder müssen für die TOTP-Authentifizierung leer sein." msgstr "OIDC-Felder müssen für die TOTP-Authentifizierung leer sein."
#: gatekeeper/forms.py:172 #: gatekeeper/forms.py:245
msgid "TOTP secret is required for TOTP authentication." msgid "TOTP secret is required for TOTP authentication."
msgstr "Das TOTP-Geheimnis ist für die TOTP-Authentifizierung erforderlich." msgstr "Das TOTP-Geheimnis ist für die TOTP-Authentifizierung erforderlich."
#: gatekeeper/forms.py:176 #: gatekeeper/forms.py:259
msgid "Please provide a PIN to validate the TOTP secret."
msgstr "Bitte geben Sie eine PIN an, um das TOTP-Geheimnis zu validieren."
#: gatekeeper/forms.py:181
msgid "Invalid TOTP PIN."
msgstr "Ungültige TOTP-PIN."
#: gatekeeper/forms.py:183
msgid "Invalid TOTP secret format. Must be a valid Base32 string."
msgstr ""
"Ungültiges TOTP-Geheimnisformat. Muss eine gültige Base32-Zeichenfolge sein."
#: gatekeeper/forms.py:186
msgid "TOTP secret must be empty for OIDC authentication." msgid "TOTP secret must be empty for OIDC authentication."
msgstr "Das TOTP-Geheimnis muss für die OIDC-Authentifizierung leer sein." msgstr "Das TOTP-Geheimnis muss für die OIDC-Authentifizierung leer sein."
#: gatekeeper/forms.py:188 #: gatekeeper/forms.py:261
msgid "TOTP validation PIN must be empty for OIDC authentication." msgid "TOTP validation PIN must be empty for OIDC authentication."
msgstr "" msgstr ""
"Die TOTP-Validierungs-PIN muss für die OIDC-Authentifizierung leer sein." "Die TOTP-Validierungs-PIN muss für die OIDC-Authentifizierung leer sein."
#: gatekeeper/forms.py:197 gatekeeper/forms.py:239 gatekeeper/forms.py:270 #: gatekeeper/forms.py:270 gatekeeper/forms.py:312 gatekeeper/forms.py:343
msgid "Authentication Method" msgid "Authentication Method"
msgstr "Authentifizierungsmethode" msgstr "Authentifizierungsmethode"
#: gatekeeper/forms.py:199 templates/gatekeeper/gatekeeper_list.html:257 #: gatekeeper/forms.py:272 templates/gatekeeper/gatekeeper_list.html:273
msgid "Prefix Length" msgid "Prefix Length"
msgstr "Präfixlänge" msgstr "Präfixlänge"
#: gatekeeper/forms.py:200 templates/firewall/firewall_rule_list.html:47 #: gatekeeper/forms.py:273 templates/firewall/firewall_rule_list.html:47
#: templates/firewall/manage_firewall_rule.html:360 #: templates/firewall/manage_firewall_rule.html:360
#: templates/gatekeeper/gatekeeper_list.html:258 #: templates/gatekeeper/gatekeeper_list.html:274
msgid "Action" msgid "Action"
msgstr "Aktion" msgstr "Aktion"
#: gatekeeper/forms.py:240 templates/gatekeeper/gatekeeper_list.html:221 #: gatekeeper/forms.py:313 templates/gatekeeper/gatekeeper_list.html:237
msgid "Domain" msgid "Domain"
msgstr "Domäne" msgstr "Domäne"
@@ -1420,16 +1482,16 @@ msgstr "IP-Adressliste"
msgid "Shared/global TOTP secret key" msgid "Shared/global TOTP secret key"
msgstr "Gemeinsamer/globaler TOTP-Geheimschlüssel" msgstr "Gemeinsamer/globaler TOTP-Geheimschlüssel"
#: gatekeeper/models.py:69 #: gatekeeper/models.py:68
msgid "Password for local authentication (leave blank if not using)" msgid "Password for local authentication (leave blank if not using)"
msgstr "" msgstr ""
"Passwort für die lokale Authentifizierung (leer lassen, wenn nicht verwendet)" "Passwort für die lokale Authentifizierung (leer lassen, wenn nicht verwendet)"
#: gatekeeper/models.py:71 #: gatekeeper/models.py:69
msgid "Per-user TOTP secret key" msgid "Per-user TOTP secret key"
msgstr "Benutzerspezifischer TOTP-Geheimschlüssel" msgstr "Benutzerspezifischer TOTP-Geheimschlüssel"
#: gatekeeper/models.py:110 templates/gatekeeper/gatekeeper_list.html:270 #: gatekeeper/models.py:108 templates/gatekeeper/gatekeeper_list.html:286
msgid "Allow" msgid "Allow"
msgstr "Zulassen" msgstr "Zulassen"
@@ -1445,58 +1507,103 @@ msgstr "Gatekeeper-Benutzer erstellen"
msgid "Gatekeeper User saved successfully." msgid "Gatekeeper User saved successfully."
msgstr "Gatekeeper-Benutzer erfolgreich gespeichert." msgstr "Gatekeeper-Benutzer erfolgreich gespeichert."
#: gatekeeper/views.py:86 #: gatekeeper/views.py:69
msgid ""
"\n"
" <h4>Gatekeeper User</h4>\n"
" <p>Gatekeeper users are used for authenticating against protected "
"applications managed by this gateway.</p>\n"
"\n"
" <h5>Password</h5>\n"
" <p>Required when creating a user. When editing, leave both password "
"fields blank to keep the current password.\n"
" Passwords are stored using <strong>Argon2id</strong> hashing.</p>\n"
"\n"
" <h5>TOTP Secret</h5>\n"
" <p>Optional per-user TOTP secret. When set, this user will "
"authenticate using their own secret instead of the\n"
" global TOTP secret configured on the Authentication Method. Use the "
"buttons below the field to generate a\n"
" random secret and scan the QR code with your authenticator app. "
"Validate the secret by entering the current\n"
" 6-digit PIN before saving.</p>\n"
" "
msgstr ""
#: gatekeeper/views.py:106
msgid "Gatekeeper User deleted successfully." msgid "Gatekeeper User deleted successfully."
msgstr "Gatekeeper-Benutzer erfolgreich gelöscht." msgstr "Gatekeeper-Benutzer erfolgreich gelöscht."
#: gatekeeper/views.py:91 #: gatekeeper/views.py:111
msgid "Delete Gatekeeper User" msgid "Delete Gatekeeper User"
msgstr "Gatekeeper-Benutzer löschen" msgstr "Gatekeeper-Benutzer löschen"
#: gatekeeper/views.py:93 #: gatekeeper/views.py:113
#, python-format #, python-format
msgid "Are you sure you want to delete the user \"%(username)s\"?" msgid "Are you sure you want to delete the user \"%(username)s\"?"
msgstr "" msgstr ""
"Sind Sie sicher, dass Sie den Benutzer \"%(username)s\" löschen möchten?" "Sind Sie sicher, dass Sie den Benutzer \"%(username)s\" löschen möchten?"
#: gatekeeper/views.py:107 #: gatekeeper/views.py:127
msgid "Edit Gatekeeper Group" msgid "Edit Gatekeeper Group"
msgstr "Gatekeeper-Gruppe bearbeiten" msgstr "Gatekeeper-Gruppe bearbeiten"
#: gatekeeper/views.py:110 #: gatekeeper/views.py:130
msgid "Create Gatekeeper Group" msgid "Create Gatekeeper Group"
msgstr "Gatekeeper-Gruppe erstellen" msgstr "Gatekeeper-Gruppe erstellen"
#: gatekeeper/views.py:117 #: gatekeeper/views.py:137
msgid "Gatekeeper Group saved successfully." msgid "Gatekeeper Group saved successfully."
msgstr "Gatekeeper-Gruppe erfolgreich gespeichert." msgstr "Gatekeeper-Gruppe erfolgreich gespeichert."
#: gatekeeper/views.py:139 #: gatekeeper/views.py:159
msgid "Gatekeeper Group deleted successfully." msgid "Gatekeeper Group deleted successfully."
msgstr "Gatekeeper-Gruppe erfolgreich gelöscht." msgstr "Gatekeeper-Gruppe erfolgreich gelöscht."
#: gatekeeper/views.py:144 #: gatekeeper/views.py:164
msgid "Delete Gatekeeper Group" msgid "Delete Gatekeeper Group"
msgstr "Gatekeeper-Gruppe löschen" msgstr "Gatekeeper-Gruppe löschen"
#: gatekeeper/views.py:146 #: gatekeeper/views.py:166
#, python-format #, python-format
msgid "Are you sure you want to delete the group \"%(name)s\"?" msgid "Are you sure you want to delete the group \"%(name)s\"?"
msgstr "Sind Sie sicher, dass Sie die Gruppe \"%(name)s\" löschen möchten?" msgstr "Sind Sie sicher, dass Sie die Gruppe \"%(name)s\" löschen möchten?"
#: gatekeeper/views.py:160 #: gatekeeper/views.py:180
msgid "Edit Authentication Method" msgid "Edit Authentication Method"
msgstr "Authentifizierungsmethode bearbeiten" msgstr "Authentifizierungsmethode bearbeiten"
#: gatekeeper/views.py:163 #: gatekeeper/views.py:183
msgid "Create Authentication Method" msgid "Create Authentication Method"
msgstr "Authentifizierungsmethode erstellen" msgstr "Authentifizierungsmethode erstellen"
#: gatekeeper/views.py:170 #: gatekeeper/views.py:190
msgid "Authentication Method saved successfully." msgid "Authentication Method saved successfully."
msgstr "Authentifizierungsmethode erfolgreich gespeichert." msgstr "Authentifizierungsmethode erfolgreich gespeichert."
#: gatekeeper/views.py:175 #: gatekeeper/views.py:195
#, fuzzy
#| msgid ""
#| "\n"
#| " <h4>Authentication Types</h4>\n"
#| " <p>Select how users will authenticate through this method.</p>\n"
#| " \n"
#| " <h5>Local Password</h5>\n"
#| " <p>Users will authenticate using a standard username and password "
#| "stored locally. Only one of this type can be created.</p>\n"
#| " \n"
#| " <h5>OIDC (OpenID Connect)</h5>\n"
#| " <p>Users will authenticate via an external identity provider "
#| "(like Keycloak, Google, or Authelia). Requires Provider URL, Client ID, "
#| "and Client Secret.</p>\n"
#| " \n"
#| " <h5>TOTP (Time-Based One-Time Password)</h5>\n"
#| " <p>Users will need to enter a rotating token from an "
#| "authenticator app. Requires setting a Global TOTP Secret. <br>If "
#| "<strong>Global TOTP Before Authentication</strong> is enabled, the PIN is "
#| "required before the username and password to help combat bruteforce "
#| "attacks.</p>\n"
#| " "
msgid "" msgid ""
"\n" "\n"
" <h4>Authentication Types</h4>\n" " <h4>Authentication Types</h4>\n"
@@ -1513,9 +1620,8 @@ msgid ""
" \n" " \n"
" <h5>TOTP (Time-Based One-Time Password)</h5>\n" " <h5>TOTP (Time-Based One-Time Password)</h5>\n"
" <p>Users will need to enter a rotating token from an authenticator " " <p>Users will need to enter a rotating token from an authenticator "
"app. Requires setting a Global TOTP Secret. <br>If <strong>Global TOTP " "app. If a user does not have a personal TOTP configured, the <strong>Global "
"Before Authentication</strong> is enabled, the PIN is required before the " "TOTP Secret</strong> will be used instead. </p>\n"
"username and password to help combat bruteforce attacks.</p>\n"
" " " "
msgstr "" msgstr ""
"\n" "\n"
@@ -1541,88 +1647,88 @@ msgstr ""
"Force-Angriffe zu bekämpfen.</p>\n" "Force-Angriffe zu bekämpfen.</p>\n"
" " " "
#: gatekeeper/views.py:210 #: gatekeeper/views.py:230
msgid "Authentication Method deleted successfully." msgid "Authentication Method deleted successfully."
msgstr "Authentifizierungsmethode erfolgreich gelöscht." msgstr "Authentifizierungsmethode erfolgreich gelöscht."
#: gatekeeper/views.py:215 #: gatekeeper/views.py:235
msgid "Delete Authentication Method" msgid "Delete Authentication Method"
msgstr "Authentifizierungsmethode löschen" msgstr "Authentifizierungsmethode löschen"
#: gatekeeper/views.py:217 #: gatekeeper/views.py:237
#, python-format #, python-format
msgid "Are you sure you want to delete the authentication method \"%(name)s\"?" msgid "Are you sure you want to delete the authentication method \"%(name)s\"?"
msgstr "" msgstr ""
"Sind Sie sicher, dass Sie die Authentifizierungsmethode \"%(name)s\" löschen " "Sind Sie sicher, dass Sie die Authentifizierungsmethode \"%(name)s\" löschen "
"möchten?" "möchten?"
#: gatekeeper/views.py:267 #: gatekeeper/views.py:287
msgid "Edit Allowed Domain" msgid "Edit Allowed Domain"
msgstr "Zulässige Domäne bearbeiten" msgstr "Zulässige Domäne bearbeiten"
#: gatekeeper/views.py:270 templates/gatekeeper/gatekeeper_list.html:186 #: gatekeeper/views.py:290 templates/gatekeeper/gatekeeper_list.html:202
msgid "Add Allowed Domain" msgid "Add Allowed Domain"
msgstr "Zulässige Domäne hinzufügen" msgstr "Zulässige Domäne hinzufügen"
#: gatekeeper/views.py:277 #: gatekeeper/views.py:297
msgid "Allowed Domain saved successfully." msgid "Allowed Domain saved successfully."
msgstr "Zulässige Domäne erfolgreich gespeichert." msgstr "Zulässige Domäne erfolgreich gespeichert."
#: gatekeeper/views.py:299 #: gatekeeper/views.py:319
msgid "Allowed Domain deleted successfully." msgid "Allowed Domain deleted successfully."
msgstr "Zulässige Domäne erfolgreich gelöscht." msgstr "Zulässige Domäne erfolgreich gelöscht."
#: gatekeeper/views.py:304 #: gatekeeper/views.py:324
msgid "Delete Allowed Domain" msgid "Delete Allowed Domain"
msgstr "Zulässige Domäne löschen" msgstr "Zulässige Domäne löschen"
#: gatekeeper/views.py:306 #: gatekeeper/views.py:326
#, python-format #, python-format
msgid "Are you sure you want to delete the allowed domain \"%(domain)s\"?" msgid "Are you sure you want to delete the allowed domain \"%(domain)s\"?"
msgstr "" msgstr ""
"Sind Sie sicher, dass Sie die zulässige Domäne \"%(domain)s\" löschen " "Sind Sie sicher, dass Sie die zulässige Domäne \"%(domain)s\" löschen "
"möchten?" "möchten?"
#: gatekeeper/views.py:320 #: gatekeeper/views.py:340
msgid "Edit Allowed Email" msgid "Edit Allowed Email"
msgstr "Zulässige E-Mail bearbeiten" msgstr "Zulässige E-Mail bearbeiten"
#: gatekeeper/views.py:323 templates/gatekeeper/gatekeeper_list.html:183 #: gatekeeper/views.py:343 templates/gatekeeper/gatekeeper_list.html:199
msgid "Add Allowed Email" msgid "Add Allowed Email"
msgstr "Zulässige E-Mail hinzufügen" msgstr "Zulässige E-Mail hinzufügen"
#: gatekeeper/views.py:330 #: gatekeeper/views.py:350
msgid "Allowed Email saved successfully." msgid "Allowed Email saved successfully."
msgstr "Zulässige E-Mail erfolgreich gespeichert." msgstr "Zulässige E-Mail erfolgreich gespeichert."
#: gatekeeper/views.py:352 #: gatekeeper/views.py:372
msgid "Allowed Email deleted successfully." msgid "Allowed Email deleted successfully."
msgstr "Zulässige E-Mail erfolgreich gelöscht." msgstr "Zulässige E-Mail erfolgreich gelöscht."
#: gatekeeper/views.py:357 #: gatekeeper/views.py:377
msgid "Delete Allowed Email" msgid "Delete Allowed Email"
msgstr "Zulässige E-Mail löschen" msgstr "Zulässige E-Mail löschen"
#: gatekeeper/views.py:359 #: gatekeeper/views.py:379
#, python-format #, python-format
msgid "Are you sure you want to delete the allowed email \"%(email)s\"?" msgid "Are you sure you want to delete the allowed email \"%(email)s\"?"
msgstr "" msgstr ""
"Sind Sie sicher, dass Sie die zulässige E-Mail \"%(email)s\" löschen möchten?" "Sind Sie sicher, dass Sie die zulässige E-Mail \"%(email)s\" löschen möchten?"
#: gatekeeper/views.py:373 #: gatekeeper/views.py:393
msgid "Edit IP Address" msgid "Edit IP Address"
msgstr "IP-Adresse bearbeiten" msgstr "IP-Adresse bearbeiten"
#: gatekeeper/views.py:376 templates/gatekeeper/gatekeeper_list.html:247 #: gatekeeper/views.py:396 templates/gatekeeper/gatekeeper_list.html:263
#: templates/wireguard/wireguard_manage_peer.html:171 #: templates/wireguard/wireguard_manage_peer.html:171
msgid "Add IP Address" msgid "Add IP Address"
msgstr "IPAdresse hinzufügen" msgstr "IPAdresse hinzufügen"
#: gatekeeper/views.py:383 #: gatekeeper/views.py:403
msgid "IP Address saved successfully." msgid "IP Address saved successfully."
msgstr "IP-Adresse erfolgreich gespeichert." msgstr "IP-Adresse erfolgreich gespeichert."
#: gatekeeper/views.py:388 #: gatekeeper/views.py:408
msgid "" msgid ""
"\n" "\n"
" <h5>IP Address List</h5>\n" " <h5>IP Address List</h5>\n"
@@ -1669,15 +1775,15 @@ msgstr ""
"„Büronetzwerk“, „Blockierter Angreifer“).</p>\n" "„Büronetzwerk“, „Blockierter Angreifer“).</p>\n"
" " " "
#: gatekeeper/views.py:424 #: gatekeeper/views.py:444
msgid "IP Address deleted successfully." msgid "IP Address deleted successfully."
msgstr "IP-Adresse erfolgreich gelöscht." msgstr "IP-Adresse erfolgreich gelöscht."
#: gatekeeper/views.py:429 #: gatekeeper/views.py:449
msgid "Delete IP Address" msgid "Delete IP Address"
msgstr "IP-Adresse löschen" msgstr "IP-Adresse löschen"
#: gatekeeper/views.py:431 #: gatekeeper/views.py:451
#, python-format #, python-format
msgid "Are you sure you want to delete the IP address \"%(address)s\"?" msgid "Are you sure you want to delete the IP address \"%(address)s\"?"
msgstr "" msgstr ""
@@ -2045,8 +2151,8 @@ msgid "In"
msgstr "Eingehend" msgstr "Eingehend"
#: templates/api_v2/api_documentation.html:49 #: templates/api_v2/api_documentation.html:49
#: templates/gatekeeper/gatekeeper_list.html:150 #: templates/gatekeeper/gatekeeper_list.html:166
#: templates/gatekeeper/gatekeeper_list.html:195 #: templates/gatekeeper/gatekeeper_list.html:211
#: templates/wireguard/apply_route_template.html:27 #: templates/wireguard/apply_route_template.html:27
msgid "Type" msgid "Type"
msgstr "Typ" msgstr "Typ"
@@ -2056,11 +2162,13 @@ msgid "Required"
msgstr "Erforderlich" msgstr "Erforderlich"
#: templates/api_v2/api_documentation.html:62 #: templates/api_v2/api_documentation.html:62
#: templates/gatekeeper/gatekeeper_list.html:75
#: templates/scheduler/scheduleprofile_form.html:175 #: templates/scheduler/scheduleprofile_form.html:175
msgid "Yes" msgid "Yes"
msgstr "Ja" msgstr "Ja"
#: templates/api_v2/api_documentation.html:64 #: templates/api_v2/api_documentation.html:64
#: templates/gatekeeper/gatekeeper_list.html:77
#: templates/scheduler/scheduleprofile_form.html:177 #: templates/scheduler/scheduleprofile_form.html:177
msgid "No" msgid "No"
msgstr "Nein" msgstr "Nein"
@@ -2104,12 +2212,12 @@ msgstr "Deaktiviert"
#: templates/app_gateway/application_details.html:121 #: templates/app_gateway/application_details.html:121
#: templates/cluster/workers_list.html:77 #: templates/cluster/workers_list.html:77
#: templates/dns/static_host_list.html:74 #: templates/dns/static_host_list.html:74
#: templates/gatekeeper/gatekeeper_list.html:73 #: templates/gatekeeper/gatekeeper_list.html:89
#: templates/gatekeeper/gatekeeper_list.html:116 #: templates/gatekeeper/gatekeeper_list.html:132
#: templates/gatekeeper/gatekeeper_list.html:161 #: templates/gatekeeper/gatekeeper_list.html:177
#: templates/gatekeeper/gatekeeper_list.html:209 #: templates/gatekeeper/gatekeeper_list.html:225
#: templates/gatekeeper/gatekeeper_list.html:226 #: templates/gatekeeper/gatekeeper_list.html:242
#: templates/gatekeeper/gatekeeper_list.html:278 #: templates/gatekeeper/gatekeeper_list.html:294
#: templates/routing_templates/list.html:29 #: templates/routing_templates/list.html:29
#: templates/scheduler/scheduleprofile_form.html:123 #: templates/scheduler/scheduleprofile_form.html:123
#: templates/scheduler/scheduleprofile_list.html:25 #: templates/scheduler/scheduleprofile_list.html:25
@@ -2192,6 +2300,7 @@ msgstr "Zugriffsrichtlinie hinzufügen"
#: templates/app_gateway/app_gateway_list.html:140 #: templates/app_gateway/app_gateway_list.html:140
#: templates/gatekeeper/gatekeeper_list.html:43 #: templates/gatekeeper/gatekeeper_list.html:43
#: templates/gatekeeper/gatekeeper_list.html:64
msgid "Groups" msgid "Groups"
msgstr "Gruppen" msgstr "Gruppen"
@@ -2202,10 +2311,10 @@ msgstr "Authentifizierungsmethoden"
#: templates/app_gateway/app_gateway_list.html:142 #: templates/app_gateway/app_gateway_list.html:142
#: templates/app_gateway/application_details.html:62 #: templates/app_gateway/application_details.html:62
#: templates/app_gateway/application_details.html:109 #: templates/app_gateway/application_details.html:109
#: templates/gatekeeper/gatekeeper_list.html:63 #: templates/gatekeeper/gatekeeper_list.html:65
#: templates/gatekeeper/gatekeeper_list.html:106 #: templates/gatekeeper/gatekeeper_list.html:122
#: templates/gatekeeper/gatekeeper_list.html:151 #: templates/gatekeeper/gatekeeper_list.html:167
#: templates/gatekeeper/gatekeeper_list.html:198 #: templates/gatekeeper/gatekeeper_list.html:214
#: templates/scheduler/scheduleprofile_form.html:111 #: templates/scheduler/scheduleprofile_form.html:111
#: templates/scheduler/scheduleprofile_list.html:15 #: templates/scheduler/scheduleprofile_list.html:15
#: templates/wireguard/apply_route_template.html:28 #: templates/wireguard/apply_route_template.html:28
@@ -2760,10 +2869,19 @@ msgid "Create Port forwarding Rule"
msgstr "PortWeiterleitungsregel erstellen" msgstr "PortWeiterleitungsregel erstellen"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:63 #: templates/gatekeeper/gatekeeper_auth_method_form.html:63
#: templates/gatekeeper/gatekeeper_user_form.html:43
msgid "View QR Code" msgid "View QR Code"
msgstr "QR-Code anzeigen" msgstr "QR-Code anzeigen"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:74 #: templates/gatekeeper/gatekeeper_auth_method_form.html:64
#: templates/gatekeeper/gatekeeper_user_form.html:44
#, fuzzy
#| msgid "Global TOTP Secret"
msgid "Generate TOTP Secret"
msgstr "Globales TOTP-Geheimnis"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:93
#: templates/gatekeeper/gatekeeper_user_form.html:73
msgid "Please enter a TOTP Secret first to generate the QR code." msgid "Please enter a TOTP Secret first to generate the QR code."
msgstr "" msgstr ""
"Bitte geben Sie zuerst ein TOTP-Geheimnis ein, um den QR-Code zu generieren." "Bitte geben Sie zuerst ein TOTP-Geheimnis ein, um den QR-Code zu generieren."
@@ -2790,44 +2908,48 @@ msgstr "Benutzer"
msgid "Add User" msgid "Add User"
msgstr "Benutzer hinzufügen" msgstr "Benutzer hinzufügen"
#: templates/gatekeeper/gatekeeper_list.html:88 #: templates/gatekeeper/gatekeeper_list.html:63
msgid "TOTP"
msgstr ""
#: templates/gatekeeper/gatekeeper_list.html:104
msgid "No Gatekeeper Users found." msgid "No Gatekeeper Users found."
msgstr "Keine Gatekeeper-Benutzer gefunden." msgstr "Keine Gatekeeper-Benutzer gefunden."
#: templates/gatekeeper/gatekeeper_list.html:95 #: templates/gatekeeper/gatekeeper_list.html:111
msgid "Add Group" msgid "Add Group"
msgstr "Gruppe hinzufügen" msgstr "Gruppe hinzufügen"
#: templates/gatekeeper/gatekeeper_list.html:131 #: templates/gatekeeper/gatekeeper_list.html:147
msgid "No Gatekeeper Groups found." msgid "No Gatekeeper Groups found."
msgstr "Keine Gatekeeper-Gruppen gefunden." msgstr "Keine Gatekeeper-Gruppen gefunden."
#: templates/gatekeeper/gatekeeper_list.html:140 #: templates/gatekeeper/gatekeeper_list.html:156
msgid "Add Auth Method" msgid "Add Auth Method"
msgstr "Authentifizierungsmethode hinzufügen" msgstr "Authentifizierungsmethode hinzufügen"
#: templates/gatekeeper/gatekeeper_list.html:176 #: templates/gatekeeper/gatekeeper_list.html:192
msgid "No Authentication Methods found." msgid "No Authentication Methods found."
msgstr "Keine Authentifizierungsmethoden gefunden." msgstr "Keine Authentifizierungsmethoden gefunden."
#: templates/gatekeeper/gatekeeper_list.html:196 #: templates/gatekeeper/gatekeeper_list.html:212
msgid "Identity" msgid "Identity"
msgstr "Identität" msgstr "Identität"
#: templates/gatekeeper/gatekeeper_list.html:197 #: templates/gatekeeper/gatekeeper_list.html:213
#: templates/gatekeeper/gatekeeper_list.html:259 #: templates/gatekeeper/gatekeeper_list.html:275
msgid "Auth Method" msgid "Auth Method"
msgstr "Authentifizierungsmethode" msgstr "Authentifizierungsmethode"
#: templates/gatekeeper/gatekeeper_list.html:241 #: templates/gatekeeper/gatekeeper_list.html:257
msgid "No Allowed Emails or Domains found." msgid "No Allowed Emails or Domains found."
msgstr "Keine zulässigen E-Mails oder Domänen gefunden." msgstr "Keine zulässigen E-Mails oder Domänen gefunden."
#: templates/gatekeeper/gatekeeper_list.html:260 #: templates/gatekeeper/gatekeeper_list.html:276
msgid "Manage" msgid "Manage"
msgstr "Verwalten" msgstr "Verwalten"
#: templates/gatekeeper/gatekeeper_list.html:293 #: templates/gatekeeper/gatekeeper_list.html:309
msgid "No IP Addresses found." msgid "No IP Addresses found."
msgstr "Keine IP-Adressen gefunden." msgstr "Keine IP-Adressen gefunden."
@@ -3666,10 +3788,6 @@ msgstr "Für neue Benutzer ist eine Passwortbestätigung erforderlich."
msgid "The two password fields didn't match." msgid "The two password fields didn't match."
msgstr "Die beiden Passwortfelder stimmen nicht überein." msgstr "Die beiden Passwortfelder stimmen nicht überein."
#: user_manager/forms.py:127
msgid "Password must be at least 8 characters long."
msgstr "Das Passwort muss mindestens 8 Zeichen lang sein."
#: user_manager/forms.py:220 #: user_manager/forms.py:220
msgid "A peer group with that name already exists." msgid "A peer group with that name already exists."
msgstr "Eine PeerGruppe mit diesem Namen existiert bereits." msgstr "Eine PeerGruppe mit diesem Namen existiert bereits."
@@ -4452,3 +4570,6 @@ msgid "No interfaces found|No WireGuard interfaces were found to process."
msgstr "" msgstr ""
"Keine Schnittstellen gefunden|Es wurden keine WireGuardSchnittstellen " "Keine Schnittstellen gefunden|Es wurden keine WireGuardSchnittstellen "
"gefunden." "gefunden."
#~ msgid "Global TOTP Before Authentication"
#~ msgstr "Globales TOTP vor der Authentifizierung"

Binary file not shown.

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-14 11:54-0300\n" "POT-Creation-Date: 2026-03-15 17:20-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -38,12 +38,12 @@ msgstr "Volver"
#: templates/app_gateway/application_details.html:125 #: templates/app_gateway/application_details.html:125
#: templates/firewall/manage_firewall_rule.html:382 #: templates/firewall/manage_firewall_rule.html:382
#: templates/firewall/manage_redirect_rule.html:86 #: templates/firewall/manage_redirect_rule.html:86
#: templates/gatekeeper/gatekeeper_list.html:77 #: templates/gatekeeper/gatekeeper_list.html:93
#: templates/gatekeeper/gatekeeper_list.html:120 #: templates/gatekeeper/gatekeeper_list.html:136
#: templates/gatekeeper/gatekeeper_list.html:165 #: templates/gatekeeper/gatekeeper_list.html:181
#: templates/gatekeeper/gatekeeper_list.html:213 #: templates/gatekeeper/gatekeeper_list.html:229
#: templates/gatekeeper/gatekeeper_list.html:230 #: templates/gatekeeper/gatekeeper_list.html:246
#: templates/gatekeeper/gatekeeper_list.html:282 #: templates/gatekeeper/gatekeeper_list.html:298
#: templates/scheduler/scheduleprofile_form.html:127 #: templates/scheduler/scheduleprofile_form.html:127
#: templates/scheduler/scheduleprofile_list.html:29 #: templates/scheduler/scheduleprofile_list.html:29
#: templates/wireguard/peer_list/peer_preview_modal.html:109 #: templates/wireguard/peer_list/peer_preview_modal.html:109
@@ -65,11 +65,11 @@ msgstr ""
"funcionar inmediatamente." "funcionar inmediatamente."
#: api_v2/forms.py:63 app_gateway/forms.py:40 app_gateway/forms.py:92 #: api_v2/forms.py:63 app_gateway/forms.py:40 app_gateway/forms.py:92
#: app_gateway/forms.py:136 app_gateway/forms.py:154 app_gateway/forms.py:226 #: app_gateway/forms.py:136 app_gateway/forms.py:154 app_gateway/forms.py:237
#: app_gateway/forms.py:267 cluster/forms.py:67 cluster/forms.py:124 #: app_gateway/forms.py:278 cluster/forms.py:67 cluster/forms.py:124
#: dns/forms.py:37 dns/forms.py:84 dns/forms.py:153 gatekeeper/forms.py:41 #: dns/forms.py:37 dns/forms.py:84 dns/forms.py:153 gatekeeper/forms.py:70
#: gatekeeper/forms.py:75 gatekeeper/forms.py:139 gatekeeper/forms.py:226 #: gatekeeper/forms.py:150 gatekeeper/forms.py:212 gatekeeper/forms.py:299
#: gatekeeper/forms.py:256 gatekeeper/forms.py:287 #: gatekeeper/forms.py:329 gatekeeper/forms.py:360
#: routing_templates/forms.py:71 scheduler/forms.py:102 #: routing_templates/forms.py:71 scheduler/forms.py:102
#: templates/firewall/manage_firewall_rule.html:379 #: templates/firewall/manage_firewall_rule.html:379
#: templates/firewall/manage_firewall_settings.html:59 #: templates/firewall/manage_firewall_settings.html:59
@@ -83,13 +83,13 @@ msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: api_v2/models.py:10 app_gateway/forms.py:18 app_gateway/forms.py:106 #: api_v2/models.py:10 app_gateway/forms.py:18 app_gateway/forms.py:106
#: cluster/forms.py:18 dns/forms.py:130 gatekeeper/forms.py:99 #: cluster/forms.py:18 dns/forms.py:130 gatekeeper/forms.py:174
#: routing_templates/forms.py:28 templates/api_v2/api_documentation.html:47 #: routing_templates/forms.py:28 templates/api_v2/api_documentation.html:47
#: templates/api_v2/list.html:8 templates/app_gateway/app_gateway_list.html:58 #: templates/api_v2/list.html:8 templates/app_gateway/app_gateway_list.html:58
#: templates/app_gateway/app_gateway_list.html:138 #: templates/app_gateway/app_gateway_list.html:138
#: templates/app_gateway/application_details.html:26 #: templates/app_gateway/application_details.html:26
#: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 #: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68
#: templates/gatekeeper/gatekeeper_list.html:149 #: templates/gatekeeper/gatekeeper_list.html:165
#: templates/routing_templates/list.html:8 #: templates/routing_templates/list.html:8
#: templates/scheduler/scheduleprofile_list.html:13 #: templates/scheduler/scheduleprofile_list.html:13
#: templates/user_manager/peer_group_list.html:8 #: templates/user_manager/peer_group_list.html:8
@@ -133,10 +133,10 @@ msgstr "Habilitado"
#: app_gateway/views.py:293 app_gateway/views.py:328 app_gateway/views.py:354 #: app_gateway/views.py:293 app_gateway/views.py:328 app_gateway/views.py:354
#: app_gateway/views.py:404 app_gateway/views.py:432 cluster/views.py:18 #: app_gateway/views.py:404 app_gateway/views.py:432 cluster/views.py:18
#: cluster/views.py:45 cluster/views.py:114 gatekeeper/views.py:23 #: cluster/views.py:45 cluster/views.py:114 gatekeeper/views.py:23
#: gatekeeper/views.py:48 gatekeeper/views.py:78 gatekeeper/views.py:101 #: gatekeeper/views.py:48 gatekeeper/views.py:98 gatekeeper/views.py:121
#: gatekeeper/views.py:131 gatekeeper/views.py:154 gatekeeper/views.py:202 #: gatekeeper/views.py:151 gatekeeper/views.py:174 gatekeeper/views.py:222
#: gatekeeper/views.py:261 gatekeeper/views.py:291 gatekeeper/views.py:314 #: gatekeeper/views.py:281 gatekeeper/views.py:311 gatekeeper/views.py:334
#: gatekeeper/views.py:344 gatekeeper/views.py:367 gatekeeper/views.py:416 #: gatekeeper/views.py:364 gatekeeper/views.py:387 gatekeeper/views.py:436
#: templates/access_denied.html:9 #: templates/access_denied.html:9
msgid "Access Denied" msgid "Access Denied"
msgstr "Acceso denegado" msgstr "Acceso denegado"
@@ -217,9 +217,9 @@ msgid "Upstream"
msgstr "Upstream" msgstr "Upstream"
#: app_gateway/forms.py:41 app_gateway/forms.py:93 app_gateway/forms.py:137 #: app_gateway/forms.py:41 app_gateway/forms.py:93 app_gateway/forms.py:137
#: app_gateway/forms.py:155 app_gateway/forms.py:227 app_gateway/forms.py:268 #: app_gateway/forms.py:155 app_gateway/forms.py:238 app_gateway/forms.py:279
#: gatekeeper/forms.py:42 gatekeeper/forms.py:76 gatekeeper/forms.py:140 #: gatekeeper/forms.py:71 gatekeeper/forms.py:151 gatekeeper/forms.py:213
#: gatekeeper/forms.py:227 gatekeeper/forms.py:257 gatekeeper/forms.py:288 #: gatekeeper/forms.py:300 gatekeeper/forms.py:330 gatekeeper/forms.py:361
#: scheduler/forms.py:103 #: scheduler/forms.py:103
#: templates/app_gateway/access_policy_type_select.html:50 #: templates/app_gateway/access_policy_type_select.html:50
#: templates/generic_delete_confirmation.html:19 #: templates/generic_delete_confirmation.html:19
@@ -264,20 +264,28 @@ msgstr "Grupos permitidos"
msgid "Authentication Methods" msgid "Authentication Methods"
msgstr "Métodos de autenticación" msgstr "Métodos de autenticación"
#: app_gateway/forms.py:185 #: app_gateway/forms.py:188
msgid "Cannot select more than one Local Password authentication method." msgid "Cannot select more than one Local Password authentication method."
msgstr "" msgstr ""
"No se puede seleccionar más de un método de autenticación de Contraseña " "No se puede seleccionar más de un método de autenticación de Contraseña "
"Local." "Local."
#: app_gateway/forms.py:189 #: app_gateway/forms.py:192
msgid "" msgid ""
"Cannot select more than one OpenID Connect (OIDC) authentication method." "Cannot select more than one OpenID Connect (OIDC) authentication method."
msgstr "" msgstr ""
"No se puede seleccionar más de un método de autenticação OpenID Connect " "No se puede seleccionar más de un método de autenticação OpenID Connect "
"(OIDC)." "(OIDC)."
#: app_gateway/forms.py:193 #: app_gateway/forms.py:196
#, fuzzy
#| msgid "Cannot select more than one Local Password authentication method."
msgid "Cannot select more than one TOTP authentication method."
msgstr ""
"No se puede seleccionar más de un método de autenticación de Contraseña "
"Local."
#: app_gateway/forms.py:200
msgid "" msgid ""
"Cannot select both Local Password and OpenID Connect (OIDC) authentication " "Cannot select both Local Password and OpenID Connect (OIDC) authentication "
"methods." "methods."
@@ -285,7 +293,19 @@ msgstr ""
"No se pueden seleccionar simultáneamente los métodos de autenticación de " "No se pueden seleccionar simultáneamente los métodos de autenticación de "
"Contraseña Local y OpenID Connect (OIDC)." "Contraseña Local y OpenID Connect (OIDC)."
#: app_gateway/forms.py:197 #: app_gateway/forms.py:204
#, fuzzy
#| msgid ""
#| "Cannot select both Local Password and OpenID Connect (OIDC) "
#| "authentication methods."
msgid ""
"TOTP must be combined with a Local Password or OpenID Connect authentication "
"method."
msgstr ""
"No se pueden seleccionar simultáneamente los métodos de autenticación de "
"Contraseña Local y OpenID Connect (OIDC)."
#: app_gateway/forms.py:208
msgid "" msgid ""
"At least one user group must be selected when using Local Password " "At least one user group must be selected when using Local Password "
"authentication." "authentication."
@@ -293,31 +313,31 @@ msgstr ""
"Se debe seleccionar al menos um grupo de usuarios al usar la autenticación " "Se debe seleccionar al menos um grupo de usuarios al usar la autenticación "
"de Contraseña Local." "de Contraseña Local."
#: app_gateway/forms.py:201 #: app_gateway/forms.py:212
msgid "User groups can only be used with Local Password authentication." msgid "User groups can only be used with Local Password authentication."
msgstr "" msgstr ""
"Los grupos de usuarios solo se pueden usar con la autenticación de " "Los grupos de usuarios solo se pueden usar con la autenticación de "
"Contraseña Local." "Contraseña Local."
#: app_gateway/forms.py:211 templates/app_gateway/app_gateway_list.html:62 #: app_gateway/forms.py:222 templates/app_gateway/app_gateway_list.html:62
#: templates/app_gateway/application_details.html:31 #: templates/app_gateway/application_details.html:31
#: templates/firewall/firewall_nav_tabs.html:15 #: templates/firewall/firewall_nav_tabs.html:15
msgid "Default Policy" msgid "Default Policy"
msgstr "Política predeterminada" msgstr "Política predeterminada"
#: app_gateway/forms.py:240 templates/app_gateway/application_details.html:105 #: app_gateway/forms.py:251 templates/app_gateway/application_details.html:105
msgid "Route Name" msgid "Route Name"
msgstr "Nombre de la ruta" msgstr "Nombre de la ruta"
#: app_gateway/forms.py:241 templates/app_gateway/application_details.html:106 #: app_gateway/forms.py:252 templates/app_gateway/application_details.html:106
msgid "Path Prefix" msgid "Path Prefix"
msgstr "Prefijo de ruta" msgstr "Prefijo de ruta"
#: app_gateway/forms.py:242 templates/app_gateway/application_details.html:107 #: app_gateway/forms.py:253 templates/app_gateway/application_details.html:107
msgid "Policy" msgid "Policy"
msgstr "Política" msgstr "Política"
#: app_gateway/forms.py:243 templates/app_gateway/application_details.html:108 #: app_gateway/forms.py:254 templates/app_gateway/application_details.html:108
msgid "Order" msgid "Order"
msgstr "Orden" msgstr "Orden"
@@ -335,9 +355,9 @@ msgstr "Público"
msgid "Protected" msgid "Protected"
msgstr "Protegido" msgstr "Protegido"
#: app_gateway/models.py:45 gatekeeper/models.py:110 #: app_gateway/models.py:45 gatekeeper/models.py:108
#: templates/app_gateway/access_policy_type_select.html:41 #: templates/app_gateway/access_policy_type_select.html:41
#: templates/gatekeeper/gatekeeper_list.html:272 #: templates/gatekeeper/gatekeeper_list.html:288
msgid "Deny" msgid "Deny"
msgstr "Denegar" msgstr "Denegar"
@@ -620,11 +640,11 @@ msgstr "Eliminar ruta de la aplicación"
msgid "Are you sure you want to delete the route \"%(name)s\" (%(path)s)?" msgid "Are you sure you want to delete the route \"%(name)s\" (%(path)s)?"
msgstr "¿Está seguro de que desea eliminar la ruta \"%(name)s\" (%(path)s)?" msgstr "¿Está seguro de que desea eliminar la ruta \"%(name)s\" (%(path)s)?"
#: app_gateway/views.py:444 #: app_gateway/views.py:443
msgid "Configuration exported successfully." msgid "Configuration exported successfully."
msgstr "Configuración exportada con éxito." msgstr "Configuración exportada con éxito."
#: app_gateway/views.py:446 #: app_gateway/views.py:445
msgid "" msgid ""
"Caddy is not active. Configuration files were exported for debugging " "Caddy is not active. Configuration files were exported for debugging "
"purposes." "purposes."
@@ -636,13 +656,13 @@ msgstr ""
msgid "IP Lock" msgid "IP Lock"
msgstr "Bloqueo de IP" msgstr "Bloqueo de IP"
#: cluster/forms.py:21 dns/forms.py:67 gatekeeper/forms.py:198 #: cluster/forms.py:21 dns/forms.py:67 gatekeeper/forms.py:271
#: templates/cluster/workers_list.html:10 #: templates/cluster/workers_list.html:10
#: templates/dns/static_host_list.html:18 #: templates/dns/static_host_list.html:18
#: templates/firewall/manage_redirect_rule.html:43 #: templates/firewall/manage_redirect_rule.html:43
#: templates/firewall/manage_redirect_rule.html:67 #: templates/firewall/manage_redirect_rule.html:67
#: templates/firewall/manage_redirect_rule.html:68 #: templates/firewall/manage_redirect_rule.html:68
#: templates/gatekeeper/gatekeeper_list.html:256 #: templates/gatekeeper/gatekeeper_list.html:272
#: templates/wireguard/wireguard_status.html:45 #: templates/wireguard/wireguard_status.html:45
msgid "IP Address" msgid "IP Address"
msgstr "Dirección IP" msgstr "Dirección IP"
@@ -919,7 +939,7 @@ msgstr "DNS estático"
msgid "Invalid hostname." msgid "Invalid hostname."
msgstr "Nombre de host inválido." msgstr "Nombre de host inválido."
#: dns/forms.py:131 firewall/forms.py:111 gatekeeper/forms.py:201 #: dns/forms.py:131 firewall/forms.py:111 gatekeeper/forms.py:274
#: templates/api_v2/api_documentation.html:51 #: templates/api_v2/api_documentation.html:51
#: templates/dns/static_host_list.html:69 #: templates/dns/static_host_list.html:69
#: templates/firewall/manage_redirect_rule.html:18 #: templates/firewall/manage_redirect_rule.html:18
@@ -1251,43 +1271,29 @@ msgstr "Gestionar configuración de firewall"
msgid "Firewall settings saved successfully" msgid "Firewall settings saved successfully"
msgstr "Configuración de firewall guardada correctamente" msgstr "Configuración de firewall guardada correctamente"
#: gatekeeper/forms.py:17 templates/accounts/login.html:14 #: gatekeeper/forms.py:17 templates/accounts/login.html:23
#: templates/gatekeeper/gatekeeper_list.html:61
#: templates/user_manager/list.html:8 user_manager/forms.py:13
#: vpn_invite/forms.py:281
msgid "Username"
msgstr "Usuario"
#: gatekeeper/forms.py:18 gatekeeper/forms.py:271
#: templates/gatekeeper/gatekeeper_list.html:62
#: templates/gatekeeper/gatekeeper_list.html:204
#: templates/wireguard/peer_list/peer_preview_modal.html:103
msgid "Email"
msgstr "Email"
#: gatekeeper/forms.py:19 templates/accounts/login.html:23
#: templates/vpn_invite/invite_settings.html:19 user_manager/forms.py:14 #: templates/vpn_invite/invite_settings.html:19 user_manager/forms.py:14
#: vpn_invite/forms.py:282 #: vpn_invite/forms.py:282
msgid "Password" msgid "Password"
msgstr "Contraseña" msgstr "Contraseña"
#: gatekeeper/forms.py:20 #: gatekeeper/forms.py:20
msgid "TOTP Secret" msgid ""
msgstr "Secreto TOTP" "Minimum 8 characters, with at least one uppercase letter, one lowercase "
"letter, and one number."
msgstr ""
#: gatekeeper/forms.py:55 templates/gatekeeper/gatekeeper_list.html:104 #: gatekeeper/forms.py:23
msgid "Group Name" #, fuzzy
msgstr "Nombre del grupo" #| msgid "Random Password"
msgid "Confirm Password"
msgstr "Contraseña aleatoria"
#: gatekeeper/forms.py:56 templates/gatekeeper/gatekeeper_list.html:105 #: gatekeeper/forms.py:28 gatekeeper/forms.py:161
msgid "Members"
msgstr "Miembros"
#: gatekeeper/forms.py:86
msgid "TOTP Validation PIN" msgid "TOTP Validation PIN"
msgstr "PIN de validación TOTP" msgstr "PIN de validación TOTP"
#: gatekeeper/forms.py:89 #: gatekeeper/forms.py:31 gatekeeper/forms.py:164
msgid "" msgid ""
"Enter a 6-digit PIN generated by your authenticator app to validate the " "Enter a 6-digit PIN generated by your authenticator app to validate the "
"secret." "secret."
@@ -1295,95 +1301,151 @@ msgstr ""
"Introduzca un PIN de 6 dígitos generado por su aplicación de autenticación " "Introduzca un PIN de 6 dígitos generado por su aplicación de autenticación "
"para validar el secreto." "para validar el secreto."
#: gatekeeper/forms.py:100 #: gatekeeper/forms.py:38 templates/accounts/login.html:14
#: templates/gatekeeper/gatekeeper_list.html:61
#: templates/user_manager/list.html:8 user_manager/forms.py:13
#: vpn_invite/forms.py:281
msgid "Username"
msgstr "Usuario"
#: gatekeeper/forms.py:39 gatekeeper/forms.py:344
#: templates/gatekeeper/gatekeeper_list.html:62
#: templates/gatekeeper/gatekeeper_list.html:220
#: templates/wireguard/peer_list/peer_preview_modal.html:103
msgid "Email"
msgstr "Email"
#: gatekeeper/forms.py:40
msgid "TOTP Secret"
msgstr "Secreto TOTP"
#: gatekeeper/forms.py:87
#, fuzzy
#| msgid "Port is required."
msgid "Password is required."
msgstr "Puerto es obligatorio."
#: gatekeeper/forms.py:90 user_manager/forms.py:127
msgid "Password must be at least 8 characters long."
msgstr "La contraseña debe tener al menos 8 caracteres."
#: gatekeeper/forms.py:92
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one lowercase letter."
msgstr "La contraseña debe tener al menos 8 caracteres."
#: gatekeeper/forms.py:94
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one uppercase letter."
msgstr "La contraseña debe tener al menos 8 caracteres."
#: gatekeeper/forms.py:96
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one number."
msgstr "La contraseña debe tener al menos 8 caracteres."
#: gatekeeper/forms.py:98
#, fuzzy
#| msgid "Password Confirmation"
msgid "Passwords do not match."
msgstr "Confirmación de contraseña"
#: gatekeeper/forms.py:103 gatekeeper/forms.py:249
msgid "Please provide a PIN to validate the TOTP secret."
msgstr "Proporcione un PIN para validar el secreto TOTP."
#: gatekeeper/forms.py:108 gatekeeper/forms.py:254
msgid "Invalid TOTP PIN."
msgstr "PIN TOTP no válido."
#: gatekeeper/forms.py:110 gatekeeper/forms.py:256
msgid "Invalid TOTP secret format. Must be a valid Base32 string."
msgstr "Formato de secreto TOTP no válido. Debe ser una cadena Base32 válida."
#: gatekeeper/forms.py:130 templates/gatekeeper/gatekeeper_list.html:120
msgid "Group Name"
msgstr "Nombre del grupo"
#: gatekeeper/forms.py:131 templates/gatekeeper/gatekeeper_list.html:121
msgid "Members"
msgstr "Miembros"
#: gatekeeper/forms.py:175
msgid "Authentication Type" msgid "Authentication Type"
msgstr "Tipo de autenticación" msgstr "Tipo de autenticación"
#: gatekeeper/forms.py:101 #: gatekeeper/forms.py:176
msgid "Global TOTP Secret" msgid "Global TOTP Secret"
msgstr "Secreto TOTP global" msgstr "Secreto TOTP global"
#: gatekeeper/forms.py:102 #: gatekeeper/forms.py:177
msgid "Global TOTP Before Authentication"
msgstr "TOTP global antes de la autenticación"
#: gatekeeper/forms.py:103
msgid "OIDC Provider URL" msgid "OIDC Provider URL"
msgstr "URL del proveedor OIDC" msgstr "URL del proveedor OIDC"
#: gatekeeper/forms.py:104 #: gatekeeper/forms.py:178
msgid "OIDC Client ID" msgid "OIDC Client ID"
msgstr "ID de cliente OIDC" msgstr "ID de cliente OIDC"
#: gatekeeper/forms.py:105 #: gatekeeper/forms.py:179
msgid "OIDC Client Secret" msgid "OIDC Client Secret"
msgstr "Secreto de cliente OIDC" msgstr "Secreto de cliente OIDC"
#: gatekeeper/forms.py:157 #: gatekeeper/forms.py:230
msgid "TOTP secret must be empty for Local Password authentication." msgid "TOTP secret must be empty for Local Password authentication."
msgstr "" msgstr ""
"El secreto TOTP debe estar vacío para la autenticación por contraseña local." "El secreto TOTP debe estar vacío para la autenticación por contraseña local."
#: gatekeeper/forms.py:159 #: gatekeeper/forms.py:232
msgid "TOTP validation PIN must be empty for Local Password authentication." msgid "TOTP validation PIN must be empty for Local Password authentication."
msgstr "" msgstr ""
"El PIN de validación TOTP debe estar vacío para la autenticación por " "El PIN de validación TOTP debe estar vacío para la autenticación por "
"contraseña local." "contraseña local."
#: gatekeeper/forms.py:161 #: gatekeeper/forms.py:234
msgid "OIDC fields must be empty for Local Password authentication." msgid "OIDC fields must be empty for Local Password authentication."
msgstr "" msgstr ""
"Los campos OIDC deben estar vacíos para la autenticación por contraseña " "Los campos OIDC deben estar vacíos para la autenticación por contraseña "
"local." "local."
#: gatekeeper/forms.py:167 #: gatekeeper/forms.py:240
msgid "Only one Local Password authentication method can be configured." msgid "Only one Local Password authentication method can be configured."
msgstr "" msgstr ""
"Sólo se puede configurar un método de autenticación por contraseña local." "Sólo se puede configurar un método de autenticación por contraseña local."
#: gatekeeper/forms.py:170 #: gatekeeper/forms.py:243
msgid "OIDC fields must be empty for TOTP authentication." msgid "OIDC fields must be empty for TOTP authentication."
msgstr "Los campos OIDC deben estar vacíos para la autenticación TOTP." msgstr "Los campos OIDC deben estar vacíos para la autenticación TOTP."
#: gatekeeper/forms.py:172 #: gatekeeper/forms.py:245
msgid "TOTP secret is required for TOTP authentication." msgid "TOTP secret is required for TOTP authentication."
msgstr "El secreto TOTP es obligatorio para la autenticación TOTP." msgstr "El secreto TOTP es obligatorio para la autenticación TOTP."
#: gatekeeper/forms.py:176 #: gatekeeper/forms.py:259
msgid "Please provide a PIN to validate the TOTP secret."
msgstr "Proporcione un PIN para validar el secreto TOTP."
#: gatekeeper/forms.py:181
msgid "Invalid TOTP PIN."
msgstr "PIN TOTP no válido."
#: gatekeeper/forms.py:183
msgid "Invalid TOTP secret format. Must be a valid Base32 string."
msgstr "Formato de secreto TOTP no válido. Debe ser una cadena Base32 válida."
#: gatekeeper/forms.py:186
msgid "TOTP secret must be empty for OIDC authentication." msgid "TOTP secret must be empty for OIDC authentication."
msgstr "El secreto TOTP debe estar vacío para la autenticación OIDC." msgstr "El secreto TOTP debe estar vacío para la autenticación OIDC."
#: gatekeeper/forms.py:188 #: gatekeeper/forms.py:261
msgid "TOTP validation PIN must be empty for OIDC authentication." msgid "TOTP validation PIN must be empty for OIDC authentication."
msgstr "El PIN de validación TOTP debe estar vacío para la autenticación OIDC." msgstr "El PIN de validación TOTP debe estar vacío para la autenticación OIDC."
#: gatekeeper/forms.py:197 gatekeeper/forms.py:239 gatekeeper/forms.py:270 #: gatekeeper/forms.py:270 gatekeeper/forms.py:312 gatekeeper/forms.py:343
msgid "Authentication Method" msgid "Authentication Method"
msgstr "Método de autenticación" msgstr "Método de autenticación"
#: gatekeeper/forms.py:199 templates/gatekeeper/gatekeeper_list.html:257 #: gatekeeper/forms.py:272 templates/gatekeeper/gatekeeper_list.html:273
msgid "Prefix Length" msgid "Prefix Length"
msgstr "Longitud del prefijo" msgstr "Longitud del prefijo"
#: gatekeeper/forms.py:200 templates/firewall/firewall_rule_list.html:47 #: gatekeeper/forms.py:273 templates/firewall/firewall_rule_list.html:47
#: templates/firewall/manage_firewall_rule.html:360 #: templates/firewall/manage_firewall_rule.html:360
#: templates/gatekeeper/gatekeeper_list.html:258 #: templates/gatekeeper/gatekeeper_list.html:274
msgid "Action" msgid "Action"
msgstr "Acción" msgstr "Acción"
#: gatekeeper/forms.py:240 templates/gatekeeper/gatekeeper_list.html:221 #: gatekeeper/forms.py:313 templates/gatekeeper/gatekeeper_list.html:237
msgid "Domain" msgid "Domain"
msgstr "Dominio" msgstr "Dominio"
@@ -1407,15 +1469,15 @@ msgstr "Lista de direcciones IP"
msgid "Shared/global TOTP secret key" msgid "Shared/global TOTP secret key"
msgstr "Clave secreta TOTP compartida/global" msgstr "Clave secreta TOTP compartida/global"
#: gatekeeper/models.py:69 #: gatekeeper/models.py:68
msgid "Password for local authentication (leave blank if not using)" msgid "Password for local authentication (leave blank if not using)"
msgstr "Contraseña para autenticación local (dejar en blanco si no se usa)" msgstr "Contraseña para autenticación local (dejar en blanco si no se usa)"
#: gatekeeper/models.py:71 #: gatekeeper/models.py:69
msgid "Per-user TOTP secret key" msgid "Per-user TOTP secret key"
msgstr "Clave secreta TOTP por usuario" msgstr "Clave secreta TOTP por usuario"
#: gatekeeper/models.py:110 templates/gatekeeper/gatekeeper_list.html:270 #: gatekeeper/models.py:108 templates/gatekeeper/gatekeeper_list.html:286
msgid "Allow" msgid "Allow"
msgstr "Permitir" msgstr "Permitir"
@@ -1431,57 +1493,102 @@ msgstr "Crear usuario de Gatekeeper"
msgid "Gatekeeper User saved successfully." msgid "Gatekeeper User saved successfully."
msgstr "Usuario de Gatekeeper guardado correctamente." msgstr "Usuario de Gatekeeper guardado correctamente."
#: gatekeeper/views.py:86 #: gatekeeper/views.py:69
msgid ""
"\n"
" <h4>Gatekeeper User</h4>\n"
" <p>Gatekeeper users are used for authenticating against protected "
"applications managed by this gateway.</p>\n"
"\n"
" <h5>Password</h5>\n"
" <p>Required when creating a user. When editing, leave both password "
"fields blank to keep the current password.\n"
" Passwords are stored using <strong>Argon2id</strong> hashing.</p>\n"
"\n"
" <h5>TOTP Secret</h5>\n"
" <p>Optional per-user TOTP secret. When set, this user will "
"authenticate using their own secret instead of the\n"
" global TOTP secret configured on the Authentication Method. Use the "
"buttons below the field to generate a\n"
" random secret and scan the QR code with your authenticator app. "
"Validate the secret by entering the current\n"
" 6-digit PIN before saving.</p>\n"
" "
msgstr ""
#: gatekeeper/views.py:106
msgid "Gatekeeper User deleted successfully." msgid "Gatekeeper User deleted successfully."
msgstr "Usuario de Gatekeeper eliminado correctamente." msgstr "Usuario de Gatekeeper eliminado correctamente."
#: gatekeeper/views.py:91 #: gatekeeper/views.py:111
msgid "Delete Gatekeeper User" msgid "Delete Gatekeeper User"
msgstr "Eliminar usuario de Gatekeeper" msgstr "Eliminar usuario de Gatekeeper"
#: gatekeeper/views.py:93 #: gatekeeper/views.py:113
#, python-format #, python-format
msgid "Are you sure you want to delete the user \"%(username)s\"?" msgid "Are you sure you want to delete the user \"%(username)s\"?"
msgstr "¿Está seguro de que desea eliminar al usuario \"%(username)s\"?" msgstr "¿Está seguro de que desea eliminar al usuario \"%(username)s\"?"
#: gatekeeper/views.py:107 #: gatekeeper/views.py:127
msgid "Edit Gatekeeper Group" msgid "Edit Gatekeeper Group"
msgstr "Editar grupo de Gatekeeper" msgstr "Editar grupo de Gatekeeper"
#: gatekeeper/views.py:110 #: gatekeeper/views.py:130
msgid "Create Gatekeeper Group" msgid "Create Gatekeeper Group"
msgstr "Crear grupo Gatekeeper" msgstr "Crear grupo Gatekeeper"
#: gatekeeper/views.py:117 #: gatekeeper/views.py:137
msgid "Gatekeeper Group saved successfully." msgid "Gatekeeper Group saved successfully."
msgstr "Grupo de Gatekeeper guardado correctamente." msgstr "Grupo de Gatekeeper guardado correctamente."
#: gatekeeper/views.py:139 #: gatekeeper/views.py:159
msgid "Gatekeeper Group deleted successfully." msgid "Gatekeeper Group deleted successfully."
msgstr "Grupo de Gatekeeper eliminado correctamente." msgstr "Grupo de Gatekeeper eliminado correctamente."
#: gatekeeper/views.py:144 #: gatekeeper/views.py:164
msgid "Delete Gatekeeper Group" msgid "Delete Gatekeeper Group"
msgstr "Eliminar grupo Gatekeeper" msgstr "Eliminar grupo Gatekeeper"
#: gatekeeper/views.py:146 #: gatekeeper/views.py:166
#, python-format #, python-format
msgid "Are you sure you want to delete the group \"%(name)s\"?" msgid "Are you sure you want to delete the group \"%(name)s\"?"
msgstr "¿Está seguro de que desea eliminar el grupo \"%(name)s\"?" msgstr "¿Está seguro de que desea eliminar el grupo \"%(name)s\"?"
#: gatekeeper/views.py:160 #: gatekeeper/views.py:180
msgid "Edit Authentication Method" msgid "Edit Authentication Method"
msgstr "Editar método de autenticación" msgstr "Editar método de autenticación"
#: gatekeeper/views.py:163 #: gatekeeper/views.py:183
msgid "Create Authentication Method" msgid "Create Authentication Method"
msgstr "Crear método de autenticación" msgstr "Crear método de autenticación"
#: gatekeeper/views.py:170 #: gatekeeper/views.py:190
msgid "Authentication Method saved successfully." msgid "Authentication Method saved successfully."
msgstr "Método de autenticación guardado correctamente." msgstr "Método de autenticación guardado correctamente."
#: gatekeeper/views.py:175 #: gatekeeper/views.py:195
#, fuzzy
#| msgid ""
#| "\n"
#| " <h4>Authentication Types</h4>\n"
#| " <p>Select how users will authenticate through this method.</p>\n"
#| " \n"
#| " <h5>Local Password</h5>\n"
#| " <p>Users will authenticate using a standard username and password "
#| "stored locally. Only one of this type can be created.</p>\n"
#| " \n"
#| " <h5>OIDC (OpenID Connect)</h5>\n"
#| " <p>Users will authenticate via an external identity provider "
#| "(like Keycloak, Google, or Authelia). Requires Provider URL, Client ID, "
#| "and Client Secret.</p>\n"
#| " \n"
#| " <h5>TOTP (Time-Based One-Time Password)</h5>\n"
#| " <p>Users will need to enter a rotating token from an "
#| "authenticator app. Requires setting a Global TOTP Secret. <br>If "
#| "<strong>Global TOTP Before Authentication</strong> is enabled, the PIN is "
#| "required before the username and password to help combat bruteforce "
#| "attacks.</p>\n"
#| " "
msgid "" msgid ""
"\n" "\n"
" <h4>Authentication Types</h4>\n" " <h4>Authentication Types</h4>\n"
@@ -1498,9 +1605,8 @@ msgid ""
" \n" " \n"
" <h5>TOTP (Time-Based One-Time Password)</h5>\n" " <h5>TOTP (Time-Based One-Time Password)</h5>\n"
" <p>Users will need to enter a rotating token from an authenticator " " <p>Users will need to enter a rotating token from an authenticator "
"app. Requires setting a Global TOTP Secret. <br>If <strong>Global TOTP " "app. If a user does not have a personal TOTP configured, the <strong>Global "
"Before Authentication</strong> is enabled, the PIN is required before the " "TOTP Secret</strong> will be used instead. </p>\n"
"username and password to help combat bruteforce attacks.</p>\n"
" " " "
msgstr "" msgstr ""
"\n" "\n"
@@ -1526,87 +1632,87 @@ msgstr ""
"para ayudar a combatir los ataques de fuerza bruta.</p>\n" "para ayudar a combatir los ataques de fuerza bruta.</p>\n"
" " " "
#: gatekeeper/views.py:210 #: gatekeeper/views.py:230
msgid "Authentication Method deleted successfully." msgid "Authentication Method deleted successfully."
msgstr "Método de autenticación eliminado correctamente." msgstr "Método de autenticación eliminado correctamente."
#: gatekeeper/views.py:215 #: gatekeeper/views.py:235
msgid "Delete Authentication Method" msgid "Delete Authentication Method"
msgstr "Eliminar método de autenticación" msgstr "Eliminar método de autenticación"
#: gatekeeper/views.py:217 #: gatekeeper/views.py:237
#, python-format #, python-format
msgid "Are you sure you want to delete the authentication method \"%(name)s\"?" msgid "Are you sure you want to delete the authentication method \"%(name)s\"?"
msgstr "" msgstr ""
"¿Está seguro de que desea eliminar el método de autenticación \"%(name)s\"?" "¿Está seguro de que desea eliminar el método de autenticación \"%(name)s\"?"
#: gatekeeper/views.py:267 #: gatekeeper/views.py:287
msgid "Edit Allowed Domain" msgid "Edit Allowed Domain"
msgstr "Editar dominio permitido" msgstr "Editar dominio permitido"
#: gatekeeper/views.py:270 templates/gatekeeper/gatekeeper_list.html:186 #: gatekeeper/views.py:290 templates/gatekeeper/gatekeeper_list.html:202
msgid "Add Allowed Domain" msgid "Add Allowed Domain"
msgstr "Añadir dominio permitido" msgstr "Añadir dominio permitido"
#: gatekeeper/views.py:277 #: gatekeeper/views.py:297
msgid "Allowed Domain saved successfully." msgid "Allowed Domain saved successfully."
msgstr "Dominio permitido guardado correctamente." msgstr "Dominio permitido guardado correctamente."
#: gatekeeper/views.py:299 #: gatekeeper/views.py:319
msgid "Allowed Domain deleted successfully." msgid "Allowed Domain deleted successfully."
msgstr "Dominio permitido eliminado correctamente." msgstr "Dominio permitido eliminado correctamente."
#: gatekeeper/views.py:304 #: gatekeeper/views.py:324
msgid "Delete Allowed Domain" msgid "Delete Allowed Domain"
msgstr "Eliminar dominio permitido" msgstr "Eliminar dominio permitido"
#: gatekeeper/views.py:306 #: gatekeeper/views.py:326
#, python-format #, python-format
msgid "Are you sure you want to delete the allowed domain \"%(domain)s\"?" msgid "Are you sure you want to delete the allowed domain \"%(domain)s\"?"
msgstr "" msgstr ""
"¿Está seguro de que desea eliminar el dominio permitido \"%(domain)s\"?" "¿Está seguro de que desea eliminar el dominio permitido \"%(domain)s\"?"
#: gatekeeper/views.py:320 #: gatekeeper/views.py:340
msgid "Edit Allowed Email" msgid "Edit Allowed Email"
msgstr "Editar correo electrónico permitido" msgstr "Editar correo electrónico permitido"
#: gatekeeper/views.py:323 templates/gatekeeper/gatekeeper_list.html:183 #: gatekeeper/views.py:343 templates/gatekeeper/gatekeeper_list.html:199
msgid "Add Allowed Email" msgid "Add Allowed Email"
msgstr "Añadir correo electrónico permitido" msgstr "Añadir correo electrónico permitido"
#: gatekeeper/views.py:330 #: gatekeeper/views.py:350
msgid "Allowed Email saved successfully." msgid "Allowed Email saved successfully."
msgstr "Correo electrónico permitido guardado correctamente." msgstr "Correo electrónico permitido guardado correctamente."
#: gatekeeper/views.py:352 #: gatekeeper/views.py:372
msgid "Allowed Email deleted successfully." msgid "Allowed Email deleted successfully."
msgstr "Correo electrónico permitido eliminado correctamente." msgstr "Correo electrónico permitido eliminado correctamente."
#: gatekeeper/views.py:357 #: gatekeeper/views.py:377
msgid "Delete Allowed Email" msgid "Delete Allowed Email"
msgstr "Eliminar correo electrónico permitido" msgstr "Eliminar correo electrónico permitido"
#: gatekeeper/views.py:359 #: gatekeeper/views.py:379
#, python-format #, python-format
msgid "Are you sure you want to delete the allowed email \"%(email)s\"?" msgid "Are you sure you want to delete the allowed email \"%(email)s\"?"
msgstr "" msgstr ""
"¿Está seguro de que desea eliminar el correo electrónico permitido " "¿Está seguro de que desea eliminar el correo electrónico permitido "
"\"%(email)s\"?" "\"%(email)s\"?"
#: gatekeeper/views.py:373 #: gatekeeper/views.py:393
msgid "Edit IP Address" msgid "Edit IP Address"
msgstr "Editar dirección IP" msgstr "Editar dirección IP"
#: gatekeeper/views.py:376 templates/gatekeeper/gatekeeper_list.html:247 #: gatekeeper/views.py:396 templates/gatekeeper/gatekeeper_list.html:263
#: templates/wireguard/wireguard_manage_peer.html:171 #: templates/wireguard/wireguard_manage_peer.html:171
msgid "Add IP Address" msgid "Add IP Address"
msgstr "Añadir IP" msgstr "Añadir IP"
#: gatekeeper/views.py:383 #: gatekeeper/views.py:403
msgid "IP Address saved successfully." msgid "IP Address saved successfully."
msgstr "Dirección IP guardada correctamente." msgstr "Dirección IP guardada correctamente."
#: gatekeeper/views.py:388 #: gatekeeper/views.py:408
msgid "" msgid ""
"\n" "\n"
" <h5>IP Address List</h5>\n" " <h5>IP Address List</h5>\n"
@@ -1653,15 +1759,15 @@ msgstr ""
"\"Red de la Oficina\", \"Atacante Bloqueado\").</p>\n" "\"Red de la Oficina\", \"Atacante Bloqueado\").</p>\n"
" " " "
#: gatekeeper/views.py:424 #: gatekeeper/views.py:444
msgid "IP Address deleted successfully." msgid "IP Address deleted successfully."
msgstr "Dirección IP eliminada correctamente." msgstr "Dirección IP eliminada correctamente."
#: gatekeeper/views.py:429 #: gatekeeper/views.py:449
msgid "Delete IP Address" msgid "Delete IP Address"
msgstr "Eliminar dirección IP" msgstr "Eliminar dirección IP"
#: gatekeeper/views.py:431 #: gatekeeper/views.py:451
#, python-format #, python-format
msgid "Are you sure you want to delete the IP address \"%(address)s\"?" msgid "Are you sure you want to delete the IP address \"%(address)s\"?"
msgstr "¿Está seguro de que desea eliminar la dirección IP \"%(address)s\"?" msgstr "¿Está seguro de que desea eliminar la dirección IP \"%(address)s\"?"
@@ -2027,8 +2133,8 @@ msgid "In"
msgstr "Entrada" msgstr "Entrada"
#: templates/api_v2/api_documentation.html:49 #: templates/api_v2/api_documentation.html:49
#: templates/gatekeeper/gatekeeper_list.html:150 #: templates/gatekeeper/gatekeeper_list.html:166
#: templates/gatekeeper/gatekeeper_list.html:195 #: templates/gatekeeper/gatekeeper_list.html:211
#: templates/wireguard/apply_route_template.html:27 #: templates/wireguard/apply_route_template.html:27
msgid "Type" msgid "Type"
msgstr "Tipo" msgstr "Tipo"
@@ -2038,11 +2144,13 @@ msgid "Required"
msgstr "Obligatorio" msgstr "Obligatorio"
#: templates/api_v2/api_documentation.html:62 #: templates/api_v2/api_documentation.html:62
#: templates/gatekeeper/gatekeeper_list.html:75
#: templates/scheduler/scheduleprofile_form.html:175 #: templates/scheduler/scheduleprofile_form.html:175
msgid "Yes" msgid "Yes"
msgstr "Sí" msgstr "Sí"
#: templates/api_v2/api_documentation.html:64 #: templates/api_v2/api_documentation.html:64
#: templates/gatekeeper/gatekeeper_list.html:77
#: templates/scheduler/scheduleprofile_form.html:177 #: templates/scheduler/scheduleprofile_form.html:177
msgid "No" msgid "No"
msgstr "No" msgstr "No"
@@ -2087,12 +2195,12 @@ msgstr "Deshabilitado"
#: templates/app_gateway/application_details.html:121 #: templates/app_gateway/application_details.html:121
#: templates/cluster/workers_list.html:77 #: templates/cluster/workers_list.html:77
#: templates/dns/static_host_list.html:74 #: templates/dns/static_host_list.html:74
#: templates/gatekeeper/gatekeeper_list.html:73 #: templates/gatekeeper/gatekeeper_list.html:89
#: templates/gatekeeper/gatekeeper_list.html:116 #: templates/gatekeeper/gatekeeper_list.html:132
#: templates/gatekeeper/gatekeeper_list.html:161 #: templates/gatekeeper/gatekeeper_list.html:177
#: templates/gatekeeper/gatekeeper_list.html:209 #: templates/gatekeeper/gatekeeper_list.html:225
#: templates/gatekeeper/gatekeeper_list.html:226 #: templates/gatekeeper/gatekeeper_list.html:242
#: templates/gatekeeper/gatekeeper_list.html:278 #: templates/gatekeeper/gatekeeper_list.html:294
#: templates/routing_templates/list.html:29 #: templates/routing_templates/list.html:29
#: templates/scheduler/scheduleprofile_form.html:123 #: templates/scheduler/scheduleprofile_form.html:123
#: templates/scheduler/scheduleprofile_list.html:25 #: templates/scheduler/scheduleprofile_list.html:25
@@ -2174,6 +2282,7 @@ msgstr "Añadir política de acceso"
#: templates/app_gateway/app_gateway_list.html:140 #: templates/app_gateway/app_gateway_list.html:140
#: templates/gatekeeper/gatekeeper_list.html:43 #: templates/gatekeeper/gatekeeper_list.html:43
#: templates/gatekeeper/gatekeeper_list.html:64
msgid "Groups" msgid "Groups"
msgstr "Grupos" msgstr "Grupos"
@@ -2184,10 +2293,10 @@ msgstr "Métodos de autenticación"
#: templates/app_gateway/app_gateway_list.html:142 #: templates/app_gateway/app_gateway_list.html:142
#: templates/app_gateway/application_details.html:62 #: templates/app_gateway/application_details.html:62
#: templates/app_gateway/application_details.html:109 #: templates/app_gateway/application_details.html:109
#: templates/gatekeeper/gatekeeper_list.html:63 #: templates/gatekeeper/gatekeeper_list.html:65
#: templates/gatekeeper/gatekeeper_list.html:106 #: templates/gatekeeper/gatekeeper_list.html:122
#: templates/gatekeeper/gatekeeper_list.html:151 #: templates/gatekeeper/gatekeeper_list.html:167
#: templates/gatekeeper/gatekeeper_list.html:198 #: templates/gatekeeper/gatekeeper_list.html:214
#: templates/scheduler/scheduleprofile_form.html:111 #: templates/scheduler/scheduleprofile_form.html:111
#: templates/scheduler/scheduleprofile_list.html:15 #: templates/scheduler/scheduleprofile_list.html:15
#: templates/wireguard/apply_route_template.html:28 #: templates/wireguard/apply_route_template.html:28
@@ -2737,10 +2846,19 @@ msgid "Create Port forwarding Rule"
msgstr "Crear regla de reenvío de puerto" msgstr "Crear regla de reenvío de puerto"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:63 #: templates/gatekeeper/gatekeeper_auth_method_form.html:63
#: templates/gatekeeper/gatekeeper_user_form.html:43
msgid "View QR Code" msgid "View QR Code"
msgstr "Ver código QR" msgstr "Ver código QR"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:74 #: templates/gatekeeper/gatekeeper_auth_method_form.html:64
#: templates/gatekeeper/gatekeeper_user_form.html:44
#, fuzzy
#| msgid "Global TOTP Secret"
msgid "Generate TOTP Secret"
msgstr "Secreto TOTP global"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:93
#: templates/gatekeeper/gatekeeper_user_form.html:73
msgid "Please enter a TOTP Secret first to generate the QR code." msgid "Please enter a TOTP Secret first to generate the QR code."
msgstr "" msgstr ""
"Por favor, introduzca primero un secreto TOTP para generar el código QR." "Por favor, introduzca primero un secreto TOTP para generar el código QR."
@@ -2767,44 +2885,48 @@ msgstr "Usuarios"
msgid "Add User" msgid "Add User"
msgstr "Añadir usuario" msgstr "Añadir usuario"
#: templates/gatekeeper/gatekeeper_list.html:88 #: templates/gatekeeper/gatekeeper_list.html:63
msgid "TOTP"
msgstr ""
#: templates/gatekeeper/gatekeeper_list.html:104
msgid "No Gatekeeper Users found." msgid "No Gatekeeper Users found."
msgstr "No se han encontrado usuarios de Gatekeeper." msgstr "No se han encontrado usuarios de Gatekeeper."
#: templates/gatekeeper/gatekeeper_list.html:95 #: templates/gatekeeper/gatekeeper_list.html:111
msgid "Add Group" msgid "Add Group"
msgstr "Añadir grupo" msgstr "Añadir grupo"
#: templates/gatekeeper/gatekeeper_list.html:131 #: templates/gatekeeper/gatekeeper_list.html:147
msgid "No Gatekeeper Groups found." msgid "No Gatekeeper Groups found."
msgstr "No se han encontrado grupos de Gatekeeper." msgstr "No se han encontrado grupos de Gatekeeper."
#: templates/gatekeeper/gatekeeper_list.html:140 #: templates/gatekeeper/gatekeeper_list.html:156
msgid "Add Auth Method" msgid "Add Auth Method"
msgstr "Añadir método de autenticación" msgstr "Añadir método de autenticación"
#: templates/gatekeeper/gatekeeper_list.html:176 #: templates/gatekeeper/gatekeeper_list.html:192
msgid "No Authentication Methods found." msgid "No Authentication Methods found."
msgstr "No se han encontrado métodos de autenticación." msgstr "No se han encontrado métodos de autenticación."
#: templates/gatekeeper/gatekeeper_list.html:196 #: templates/gatekeeper/gatekeeper_list.html:212
msgid "Identity" msgid "Identity"
msgstr "Identidad" msgstr "Identidad"
#: templates/gatekeeper/gatekeeper_list.html:197 #: templates/gatekeeper/gatekeeper_list.html:213
#: templates/gatekeeper/gatekeeper_list.html:259 #: templates/gatekeeper/gatekeeper_list.html:275
msgid "Auth Method" msgid "Auth Method"
msgstr "Método de autenticación" msgstr "Método de autenticación"
#: templates/gatekeeper/gatekeeper_list.html:241 #: templates/gatekeeper/gatekeeper_list.html:257
msgid "No Allowed Emails or Domains found." msgid "No Allowed Emails or Domains found."
msgstr "No se han encontrado correos electrónicos o dominios permitidos." msgstr "No se han encontrado correos electrónicos o dominios permitidos."
#: templates/gatekeeper/gatekeeper_list.html:260 #: templates/gatekeeper/gatekeeper_list.html:276
msgid "Manage" msgid "Manage"
msgstr "Gestionar" msgstr "Gestionar"
#: templates/gatekeeper/gatekeeper_list.html:293 #: templates/gatekeeper/gatekeeper_list.html:309
msgid "No IP Addresses found." msgid "No IP Addresses found."
msgstr "No se han encontrado direcciones IP." msgstr "No se han encontrado direcciones IP."
@@ -3640,10 +3762,6 @@ msgstr "Confirmación de contraseña obligatoria para nuevos usuarios."
msgid "The two password fields didn't match." msgid "The two password fields didn't match."
msgstr "Las contraseñas no coinciden." msgstr "Las contraseñas no coinciden."
#: user_manager/forms.py:127
msgid "Password must be at least 8 characters long."
msgstr "La contraseña debe tener al menos 8 caracteres."
#: user_manager/forms.py:220 #: user_manager/forms.py:220
msgid "A peer group with that name already exists." msgid "A peer group with that name already exists."
msgstr "Ya existe un grupo de peers con ese nombre." msgstr "Ya existe un grupo de peers con ese nombre."
@@ -4404,3 +4522,6 @@ msgstr "Errores encontrados|Error al procesar una o más interfaces."
msgid "No interfaces found|No WireGuard interfaces were found to process." msgid "No interfaces found|No WireGuard interfaces were found to process."
msgstr "" msgstr ""
"No se encontraron interfaces|No hay interfaces WireGuard para procesar." "No se encontraron interfaces|No hay interfaces WireGuard para procesar."
#~ msgid "Global TOTP Before Authentication"
#~ msgstr "TOTP global antes de la autenticación"

Binary file not shown.

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-14 11:54-0300\n" "POT-Creation-Date: 2026-03-15 17:20-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -38,12 +38,12 @@ msgstr "Retour"
#: templates/app_gateway/application_details.html:125 #: templates/app_gateway/application_details.html:125
#: templates/firewall/manage_firewall_rule.html:382 #: templates/firewall/manage_firewall_rule.html:382
#: templates/firewall/manage_redirect_rule.html:86 #: templates/firewall/manage_redirect_rule.html:86
#: templates/gatekeeper/gatekeeper_list.html:77 #: templates/gatekeeper/gatekeeper_list.html:93
#: templates/gatekeeper/gatekeeper_list.html:120 #: templates/gatekeeper/gatekeeper_list.html:136
#: templates/gatekeeper/gatekeeper_list.html:165 #: templates/gatekeeper/gatekeeper_list.html:181
#: templates/gatekeeper/gatekeeper_list.html:213 #: templates/gatekeeper/gatekeeper_list.html:229
#: templates/gatekeeper/gatekeeper_list.html:230 #: templates/gatekeeper/gatekeeper_list.html:246
#: templates/gatekeeper/gatekeeper_list.html:282 #: templates/gatekeeper/gatekeeper_list.html:298
#: templates/scheduler/scheduleprofile_form.html:127 #: templates/scheduler/scheduleprofile_form.html:127
#: templates/scheduler/scheduleprofile_list.html:29 #: templates/scheduler/scheduleprofile_list.html:29
#: templates/wireguard/peer_list/peer_preview_modal.html:109 #: templates/wireguard/peer_list/peer_preview_modal.html:109
@@ -65,11 +65,11 @@ msgstr ""
"fonctionner immédiatement." "fonctionner immédiatement."
#: api_v2/forms.py:63 app_gateway/forms.py:40 app_gateway/forms.py:92 #: api_v2/forms.py:63 app_gateway/forms.py:40 app_gateway/forms.py:92
#: app_gateway/forms.py:136 app_gateway/forms.py:154 app_gateway/forms.py:226 #: app_gateway/forms.py:136 app_gateway/forms.py:154 app_gateway/forms.py:237
#: app_gateway/forms.py:267 cluster/forms.py:67 cluster/forms.py:124 #: app_gateway/forms.py:278 cluster/forms.py:67 cluster/forms.py:124
#: dns/forms.py:37 dns/forms.py:84 dns/forms.py:153 gatekeeper/forms.py:41 #: dns/forms.py:37 dns/forms.py:84 dns/forms.py:153 gatekeeper/forms.py:70
#: gatekeeper/forms.py:75 gatekeeper/forms.py:139 gatekeeper/forms.py:226 #: gatekeeper/forms.py:150 gatekeeper/forms.py:212 gatekeeper/forms.py:299
#: gatekeeper/forms.py:256 gatekeeper/forms.py:287 #: gatekeeper/forms.py:329 gatekeeper/forms.py:360
#: routing_templates/forms.py:71 scheduler/forms.py:102 #: routing_templates/forms.py:71 scheduler/forms.py:102
#: templates/firewall/manage_firewall_rule.html:379 #: templates/firewall/manage_firewall_rule.html:379
#: templates/firewall/manage_firewall_settings.html:59 #: templates/firewall/manage_firewall_settings.html:59
@@ -83,13 +83,13 @@ msgid "Save"
msgstr "Enregistrer" msgstr "Enregistrer"
#: api_v2/models.py:10 app_gateway/forms.py:18 app_gateway/forms.py:106 #: api_v2/models.py:10 app_gateway/forms.py:18 app_gateway/forms.py:106
#: cluster/forms.py:18 dns/forms.py:130 gatekeeper/forms.py:99 #: cluster/forms.py:18 dns/forms.py:130 gatekeeper/forms.py:174
#: routing_templates/forms.py:28 templates/api_v2/api_documentation.html:47 #: routing_templates/forms.py:28 templates/api_v2/api_documentation.html:47
#: templates/api_v2/list.html:8 templates/app_gateway/app_gateway_list.html:58 #: templates/api_v2/list.html:8 templates/app_gateway/app_gateway_list.html:58
#: templates/app_gateway/app_gateway_list.html:138 #: templates/app_gateway/app_gateway_list.html:138
#: templates/app_gateway/application_details.html:26 #: templates/app_gateway/application_details.html:26
#: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 #: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68
#: templates/gatekeeper/gatekeeper_list.html:149 #: templates/gatekeeper/gatekeeper_list.html:165
#: templates/routing_templates/list.html:8 #: templates/routing_templates/list.html:8
#: templates/scheduler/scheduleprofile_list.html:13 #: templates/scheduler/scheduleprofile_list.html:13
#: templates/user_manager/peer_group_list.html:8 #: templates/user_manager/peer_group_list.html:8
@@ -133,10 +133,10 @@ msgstr "Activé"
#: app_gateway/views.py:293 app_gateway/views.py:328 app_gateway/views.py:354 #: app_gateway/views.py:293 app_gateway/views.py:328 app_gateway/views.py:354
#: app_gateway/views.py:404 app_gateway/views.py:432 cluster/views.py:18 #: app_gateway/views.py:404 app_gateway/views.py:432 cluster/views.py:18
#: cluster/views.py:45 cluster/views.py:114 gatekeeper/views.py:23 #: cluster/views.py:45 cluster/views.py:114 gatekeeper/views.py:23
#: gatekeeper/views.py:48 gatekeeper/views.py:78 gatekeeper/views.py:101 #: gatekeeper/views.py:48 gatekeeper/views.py:98 gatekeeper/views.py:121
#: gatekeeper/views.py:131 gatekeeper/views.py:154 gatekeeper/views.py:202 #: gatekeeper/views.py:151 gatekeeper/views.py:174 gatekeeper/views.py:222
#: gatekeeper/views.py:261 gatekeeper/views.py:291 gatekeeper/views.py:314 #: gatekeeper/views.py:281 gatekeeper/views.py:311 gatekeeper/views.py:334
#: gatekeeper/views.py:344 gatekeeper/views.py:367 gatekeeper/views.py:416 #: gatekeeper/views.py:364 gatekeeper/views.py:387 gatekeeper/views.py:436
#: templates/access_denied.html:9 #: templates/access_denied.html:9
msgid "Access Denied" msgid "Access Denied"
msgstr "Accès refusé" msgstr "Accès refusé"
@@ -217,9 +217,9 @@ msgid "Upstream"
msgstr "Upstream" msgstr "Upstream"
#: app_gateway/forms.py:41 app_gateway/forms.py:93 app_gateway/forms.py:137 #: app_gateway/forms.py:41 app_gateway/forms.py:93 app_gateway/forms.py:137
#: app_gateway/forms.py:155 app_gateway/forms.py:227 app_gateway/forms.py:268 #: app_gateway/forms.py:155 app_gateway/forms.py:238 app_gateway/forms.py:279
#: gatekeeper/forms.py:42 gatekeeper/forms.py:76 gatekeeper/forms.py:140 #: gatekeeper/forms.py:71 gatekeeper/forms.py:151 gatekeeper/forms.py:213
#: gatekeeper/forms.py:227 gatekeeper/forms.py:257 gatekeeper/forms.py:288 #: gatekeeper/forms.py:300 gatekeeper/forms.py:330 gatekeeper/forms.py:361
#: scheduler/forms.py:103 #: scheduler/forms.py:103
#: templates/app_gateway/access_policy_type_select.html:50 #: templates/app_gateway/access_policy_type_select.html:50
#: templates/generic_delete_confirmation.html:19 #: templates/generic_delete_confirmation.html:19
@@ -263,20 +263,28 @@ msgstr "Groupes autorisés"
msgid "Authentication Methods" msgid "Authentication Methods"
msgstr "Méthodes d'authentification" msgstr "Méthodes d'authentification"
#: app_gateway/forms.py:185 #: app_gateway/forms.py:188
msgid "Cannot select more than one Local Password authentication method." msgid "Cannot select more than one Local Password authentication method."
msgstr "" msgstr ""
"Impossible de sélectionner plus d'une méthode d'authentification par mot de " "Impossible de sélectionner plus d'une méthode d'authentification par mot de "
"passe local." "passe local."
#: app_gateway/forms.py:189 #: app_gateway/forms.py:192
msgid "" msgid ""
"Cannot select more than one OpenID Connect (OIDC) authentication method." "Cannot select more than one OpenID Connect (OIDC) authentication method."
msgstr "" msgstr ""
"Impossible de sélectionner plus d'une méthode d'authentification OpenID " "Impossible de sélectionner plus d'une méthode d'authentification OpenID "
"Connect (OIDC)." "Connect (OIDC)."
#: app_gateway/forms.py:193 #: app_gateway/forms.py:196
#, fuzzy
#| msgid "Cannot select more than one Local Password authentication method."
msgid "Cannot select more than one TOTP authentication method."
msgstr ""
"Impossible de sélectionner plus d'une méthode d'authentification par mot de "
"passe local."
#: app_gateway/forms.py:200
msgid "" msgid ""
"Cannot select both Local Password and OpenID Connect (OIDC) authentication " "Cannot select both Local Password and OpenID Connect (OIDC) authentication "
"methods." "methods."
@@ -284,7 +292,19 @@ msgstr ""
"Impossible de sélectionner à la fois les méthodes d'authentification par mot " "Impossible de sélectionner à la fois les méthodes d'authentification par mot "
"de passe local et OpenID Connect (OIDC)." "de passe local et OpenID Connect (OIDC)."
#: app_gateway/forms.py:197 #: app_gateway/forms.py:204
#, fuzzy
#| msgid ""
#| "Cannot select both Local Password and OpenID Connect (OIDC) "
#| "authentication methods."
msgid ""
"TOTP must be combined with a Local Password or OpenID Connect authentication "
"method."
msgstr ""
"Impossible de sélectionner à la fois les méthodes d'authentification par mot "
"de passe local et OpenID Connect (OIDC)."
#: app_gateway/forms.py:208
msgid "" msgid ""
"At least one user group must be selected when using Local Password " "At least one user group must be selected when using Local Password "
"authentication." "authentication."
@@ -292,31 +312,31 @@ msgstr ""
"Au moins un groupe d'utilisateurs doit être sélectionné lors de " "Au moins un groupe d'utilisateurs doit être sélectionné lors de "
"l'utilisation de l'authentification par mot de passe local." "l'utilisation de l'authentification par mot de passe local."
#: app_gateway/forms.py:201 #: app_gateway/forms.py:212
msgid "User groups can only be used with Local Password authentication." msgid "User groups can only be used with Local Password authentication."
msgstr "" msgstr ""
"Les groupes d'utilisateurs ne peuvent être utilisés qu'avec " "Les groupes d'utilisateurs ne peuvent être utilisés qu'avec "
"l'authentification par mot de passe local." "l'authentification par mot de passe local."
#: app_gateway/forms.py:211 templates/app_gateway/app_gateway_list.html:62 #: app_gateway/forms.py:222 templates/app_gateway/app_gateway_list.html:62
#: templates/app_gateway/application_details.html:31 #: templates/app_gateway/application_details.html:31
#: templates/firewall/firewall_nav_tabs.html:15 #: templates/firewall/firewall_nav_tabs.html:15
msgid "Default Policy" msgid "Default Policy"
msgstr "Politique par défaut" msgstr "Politique par défaut"
#: app_gateway/forms.py:240 templates/app_gateway/application_details.html:105 #: app_gateway/forms.py:251 templates/app_gateway/application_details.html:105
msgid "Route Name" msgid "Route Name"
msgstr "Nom de la route" msgstr "Nom de la route"
#: app_gateway/forms.py:241 templates/app_gateway/application_details.html:106 #: app_gateway/forms.py:252 templates/app_gateway/application_details.html:106
msgid "Path Prefix" msgid "Path Prefix"
msgstr "Préfixe de chemin" msgstr "Préfixe de chemin"
#: app_gateway/forms.py:242 templates/app_gateway/application_details.html:107 #: app_gateway/forms.py:253 templates/app_gateway/application_details.html:107
msgid "Policy" msgid "Policy"
msgstr "Politique" msgstr "Politique"
#: app_gateway/forms.py:243 templates/app_gateway/application_details.html:108 #: app_gateway/forms.py:254 templates/app_gateway/application_details.html:108
msgid "Order" msgid "Order"
msgstr "Ordre" msgstr "Ordre"
@@ -334,9 +354,9 @@ msgstr "Public"
msgid "Protected" msgid "Protected"
msgstr "Protégé" msgstr "Protégé"
#: app_gateway/models.py:45 gatekeeper/models.py:110 #: app_gateway/models.py:45 gatekeeper/models.py:108
#: templates/app_gateway/access_policy_type_select.html:41 #: templates/app_gateway/access_policy_type_select.html:41
#: templates/gatekeeper/gatekeeper_list.html:272 #: templates/gatekeeper/gatekeeper_list.html:288
msgid "Deny" msgid "Deny"
msgstr "Refuser" msgstr "Refuser"
@@ -624,11 +644,11 @@ msgstr "Supprimer la route d'application"
msgid "Are you sure you want to delete the route \"%(name)s\" (%(path)s)?" msgid "Are you sure you want to delete the route \"%(name)s\" (%(path)s)?"
msgstr "Êtes-vous sûr de vouloir supprimer la route \"%(name)s\" (%(path)s) ?" msgstr "Êtes-vous sûr de vouloir supprimer la route \"%(name)s\" (%(path)s) ?"
#: app_gateway/views.py:444 #: app_gateway/views.py:443
msgid "Configuration exported successfully." msgid "Configuration exported successfully."
msgstr "Configuration exportée avec succès." msgstr "Configuration exportée avec succès."
#: app_gateway/views.py:446 #: app_gateway/views.py:445
msgid "" msgid ""
"Caddy is not active. Configuration files were exported for debugging " "Caddy is not active. Configuration files were exported for debugging "
"purposes." "purposes."
@@ -640,13 +660,13 @@ msgstr ""
msgid "IP Lock" msgid "IP Lock"
msgstr "Verrouillage IP" msgstr "Verrouillage IP"
#: cluster/forms.py:21 dns/forms.py:67 gatekeeper/forms.py:198 #: cluster/forms.py:21 dns/forms.py:67 gatekeeper/forms.py:271
#: templates/cluster/workers_list.html:10 #: templates/cluster/workers_list.html:10
#: templates/dns/static_host_list.html:18 #: templates/dns/static_host_list.html:18
#: templates/firewall/manage_redirect_rule.html:43 #: templates/firewall/manage_redirect_rule.html:43
#: templates/firewall/manage_redirect_rule.html:67 #: templates/firewall/manage_redirect_rule.html:67
#: templates/firewall/manage_redirect_rule.html:68 #: templates/firewall/manage_redirect_rule.html:68
#: templates/gatekeeper/gatekeeper_list.html:256 #: templates/gatekeeper/gatekeeper_list.html:272
#: templates/wireguard/wireguard_status.html:45 #: templates/wireguard/wireguard_status.html:45
msgid "IP Address" msgid "IP Address"
msgstr "Adresse IP" msgstr "Adresse IP"
@@ -922,7 +942,7 @@ msgstr "DNS statique"
msgid "Invalid hostname." msgid "Invalid hostname."
msgstr "Nom d'hôte invalide." msgstr "Nom d'hôte invalide."
#: dns/forms.py:131 firewall/forms.py:111 gatekeeper/forms.py:201 #: dns/forms.py:131 firewall/forms.py:111 gatekeeper/forms.py:274
#: templates/api_v2/api_documentation.html:51 #: templates/api_v2/api_documentation.html:51
#: templates/dns/static_host_list.html:69 #: templates/dns/static_host_list.html:69
#: templates/firewall/manage_redirect_rule.html:18 #: templates/firewall/manage_redirect_rule.html:18
@@ -1256,43 +1276,29 @@ msgstr "Gérer les paramètres du parefeu"
msgid "Firewall settings saved successfully" msgid "Firewall settings saved successfully"
msgstr "Paramètres du parefeu enregistrés avec succès" msgstr "Paramètres du parefeu enregistrés avec succès"
#: gatekeeper/forms.py:17 templates/accounts/login.html:14 #: gatekeeper/forms.py:17 templates/accounts/login.html:23
#: templates/gatekeeper/gatekeeper_list.html:61
#: templates/user_manager/list.html:8 user_manager/forms.py:13
#: vpn_invite/forms.py:281
msgid "Username"
msgstr "Nom dutilisateur"
#: gatekeeper/forms.py:18 gatekeeper/forms.py:271
#: templates/gatekeeper/gatekeeper_list.html:62
#: templates/gatekeeper/gatekeeper_list.html:204
#: templates/wireguard/peer_list/peer_preview_modal.html:103
msgid "Email"
msgstr "Email"
#: gatekeeper/forms.py:19 templates/accounts/login.html:23
#: templates/vpn_invite/invite_settings.html:19 user_manager/forms.py:14 #: templates/vpn_invite/invite_settings.html:19 user_manager/forms.py:14
#: vpn_invite/forms.py:282 #: vpn_invite/forms.py:282
msgid "Password" msgid "Password"
msgstr "Mot de passe" msgstr "Mot de passe"
#: gatekeeper/forms.py:20 #: gatekeeper/forms.py:20
msgid "TOTP Secret" msgid ""
msgstr "Secret TOTP" "Minimum 8 characters, with at least one uppercase letter, one lowercase "
"letter, and one number."
msgstr ""
#: gatekeeper/forms.py:55 templates/gatekeeper/gatekeeper_list.html:104 #: gatekeeper/forms.py:23
msgid "Group Name" #, fuzzy
msgstr "Nom du groupe" #| msgid "Random Password"
msgid "Confirm Password"
msgstr "Mot de passe aléatoire"
#: gatekeeper/forms.py:56 templates/gatekeeper/gatekeeper_list.html:105 #: gatekeeper/forms.py:28 gatekeeper/forms.py:161
msgid "Members"
msgstr "Membres"
#: gatekeeper/forms.py:86
msgid "TOTP Validation PIN" msgid "TOTP Validation PIN"
msgstr "Code de validation TOTP" msgstr "Code de validation TOTP"
#: gatekeeper/forms.py:89 #: gatekeeper/forms.py:31 gatekeeper/forms.py:164
msgid "" msgid ""
"Enter a 6-digit PIN generated by your authenticator app to validate the " "Enter a 6-digit PIN generated by your authenticator app to validate the "
"secret." "secret."
@@ -1300,97 +1306,153 @@ msgstr ""
"Saisissez un code à 6 chiffres généré par votre application " "Saisissez un code à 6 chiffres généré par votre application "
"d'authentification pour valider le secret." "d'authentification pour valider le secret."
#: gatekeeper/forms.py:100 #: gatekeeper/forms.py:38 templates/accounts/login.html:14
#: templates/gatekeeper/gatekeeper_list.html:61
#: templates/user_manager/list.html:8 user_manager/forms.py:13
#: vpn_invite/forms.py:281
msgid "Username"
msgstr "Nom dutilisateur"
#: gatekeeper/forms.py:39 gatekeeper/forms.py:344
#: templates/gatekeeper/gatekeeper_list.html:62
#: templates/gatekeeper/gatekeeper_list.html:220
#: templates/wireguard/peer_list/peer_preview_modal.html:103
msgid "Email"
msgstr "Email"
#: gatekeeper/forms.py:40
msgid "TOTP Secret"
msgstr "Secret TOTP"
#: gatekeeper/forms.py:87
#, fuzzy
#| msgid "Port is required."
msgid "Password is required."
msgstr "Le port est obligatoire."
#: gatekeeper/forms.py:90 user_manager/forms.py:127
msgid "Password must be at least 8 characters long."
msgstr "Le mot de passe doit comporter au moins 8 caractères."
#: gatekeeper/forms.py:92
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one lowercase letter."
msgstr "Le mot de passe doit comporter au moins 8 caractères."
#: gatekeeper/forms.py:94
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one uppercase letter."
msgstr "Le mot de passe doit comporter au moins 8 caractères."
#: gatekeeper/forms.py:96
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one number."
msgstr "Le mot de passe doit comporter au moins 8 caractères."
#: gatekeeper/forms.py:98
#, fuzzy
#| msgid "Password Confirmation"
msgid "Passwords do not match."
msgstr "Confirmation du mot de passe"
#: gatekeeper/forms.py:103 gatekeeper/forms.py:249
msgid "Please provide a PIN to validate the TOTP secret."
msgstr "Veuillez fournir un code pour valider le secret TOTP."
#: gatekeeper/forms.py:108 gatekeeper/forms.py:254
msgid "Invalid TOTP PIN."
msgstr "Code TOTP invalide."
#: gatekeeper/forms.py:110 gatekeeper/forms.py:256
msgid "Invalid TOTP secret format. Must be a valid Base32 string."
msgstr "Format du secret TOTP invalide. Doit être une chaîne Base32 valide."
#: gatekeeper/forms.py:130 templates/gatekeeper/gatekeeper_list.html:120
msgid "Group Name"
msgstr "Nom du groupe"
#: gatekeeper/forms.py:131 templates/gatekeeper/gatekeeper_list.html:121
msgid "Members"
msgstr "Membres"
#: gatekeeper/forms.py:175
msgid "Authentication Type" msgid "Authentication Type"
msgstr "Type d'authentification" msgstr "Type d'authentification"
#: gatekeeper/forms.py:101 #: gatekeeper/forms.py:176
msgid "Global TOTP Secret" msgid "Global TOTP Secret"
msgstr "Secret TOTP mondial" msgstr "Secret TOTP mondial"
#: gatekeeper/forms.py:102 #: gatekeeper/forms.py:177
msgid "Global TOTP Before Authentication"
msgstr "TOTP global avant l'authentification"
#: gatekeeper/forms.py:103
msgid "OIDC Provider URL" msgid "OIDC Provider URL"
msgstr "URL du fournisseur OIDC" msgstr "URL du fournisseur OIDC"
#: gatekeeper/forms.py:104 #: gatekeeper/forms.py:178
msgid "OIDC Client ID" msgid "OIDC Client ID"
msgstr "ID client OIDC" msgstr "ID client OIDC"
#: gatekeeper/forms.py:105 #: gatekeeper/forms.py:179
msgid "OIDC Client Secret" msgid "OIDC Client Secret"
msgstr "Secret client OIDC" msgstr "Secret client OIDC"
#: gatekeeper/forms.py:157 #: gatekeeper/forms.py:230
msgid "TOTP secret must be empty for Local Password authentication." msgid "TOTP secret must be empty for Local Password authentication."
msgstr "" msgstr ""
"Le secret TOTP doit être vide pour l'authentification par mot de passe local." "Le secret TOTP doit être vide pour l'authentification par mot de passe local."
#: gatekeeper/forms.py:159 #: gatekeeper/forms.py:232
msgid "TOTP validation PIN must be empty for Local Password authentication." msgid "TOTP validation PIN must be empty for Local Password authentication."
msgstr "" msgstr ""
"Le code de validation TOTP doit être vide pour l'authentification par mot de " "Le code de validation TOTP doit être vide pour l'authentification par mot de "
"passe local." "passe local."
#: gatekeeper/forms.py:161 #: gatekeeper/forms.py:234
msgid "OIDC fields must be empty for Local Password authentication." msgid "OIDC fields must be empty for Local Password authentication."
msgstr "" msgstr ""
"Les champs OIDC doivent être vides pour l'authentification par mot de passe " "Les champs OIDC doivent être vides pour l'authentification par mot de passe "
"local." "local."
#: gatekeeper/forms.py:167 #: gatekeeper/forms.py:240
msgid "Only one Local Password authentication method can be configured." msgid "Only one Local Password authentication method can be configured."
msgstr "" msgstr ""
"Un seul système d'authentification par mot de passe local peut être " "Un seul système d'authentification par mot de passe local peut être "
"configuré." "configuré."
#: gatekeeper/forms.py:170 #: gatekeeper/forms.py:243
msgid "OIDC fields must be empty for TOTP authentication." msgid "OIDC fields must be empty for TOTP authentication."
msgstr "Les champs OIDC doivent être vides pour l'authentification TOTP." msgstr "Les champs OIDC doivent être vides pour l'authentification TOTP."
#: gatekeeper/forms.py:172 #: gatekeeper/forms.py:245
msgid "TOTP secret is required for TOTP authentication." msgid "TOTP secret is required for TOTP authentication."
msgstr "Le secret TOTP est requis pour l'authentification TOTP." msgstr "Le secret TOTP est requis pour l'authentification TOTP."
#: gatekeeper/forms.py:176 #: gatekeeper/forms.py:259
msgid "Please provide a PIN to validate the TOTP secret."
msgstr "Veuillez fournir un code pour valider le secret TOTP."
#: gatekeeper/forms.py:181
msgid "Invalid TOTP PIN."
msgstr "Code TOTP invalide."
#: gatekeeper/forms.py:183
msgid "Invalid TOTP secret format. Must be a valid Base32 string."
msgstr "Format du secret TOTP invalide. Doit être une chaîne Base32 valide."
#: gatekeeper/forms.py:186
msgid "TOTP secret must be empty for OIDC authentication." msgid "TOTP secret must be empty for OIDC authentication."
msgstr "Le secret TOTP doit être vide pour l'authentification OIDC." msgstr "Le secret TOTP doit être vide pour l'authentification OIDC."
#: gatekeeper/forms.py:188 #: gatekeeper/forms.py:261
msgid "TOTP validation PIN must be empty for OIDC authentication." msgid "TOTP validation PIN must be empty for OIDC authentication."
msgstr "" msgstr ""
"Le code de validation TOTP doit être vide pour l'authentification OIDC." "Le code de validation TOTP doit être vide pour l'authentification OIDC."
#: gatekeeper/forms.py:197 gatekeeper/forms.py:239 gatekeeper/forms.py:270 #: gatekeeper/forms.py:270 gatekeeper/forms.py:312 gatekeeper/forms.py:343
msgid "Authentication Method" msgid "Authentication Method"
msgstr "Méthode d'authentification" msgstr "Méthode d'authentification"
#: gatekeeper/forms.py:199 templates/gatekeeper/gatekeeper_list.html:257 #: gatekeeper/forms.py:272 templates/gatekeeper/gatekeeper_list.html:273
msgid "Prefix Length" msgid "Prefix Length"
msgstr "Longueur du préfixe" msgstr "Longueur du préfixe"
#: gatekeeper/forms.py:200 templates/firewall/firewall_rule_list.html:47 #: gatekeeper/forms.py:273 templates/firewall/firewall_rule_list.html:47
#: templates/firewall/manage_firewall_rule.html:360 #: templates/firewall/manage_firewall_rule.html:360
#: templates/gatekeeper/gatekeeper_list.html:258 #: templates/gatekeeper/gatekeeper_list.html:274
msgid "Action" msgid "Action"
msgstr "Action" msgstr "Action"
#: gatekeeper/forms.py:240 templates/gatekeeper/gatekeeper_list.html:221 #: gatekeeper/forms.py:313 templates/gatekeeper/gatekeeper_list.html:237
msgid "Domain" msgid "Domain"
msgstr "Domaine" msgstr "Domaine"
@@ -1414,17 +1476,17 @@ msgstr "Liste d'adresses IP"
msgid "Shared/global TOTP secret key" msgid "Shared/global TOTP secret key"
msgstr "Clé secrète TOTP partagée/globale" msgstr "Clé secrète TOTP partagée/globale"
#: gatekeeper/models.py:69 #: gatekeeper/models.py:68
msgid "Password for local authentication (leave blank if not using)" msgid "Password for local authentication (leave blank if not using)"
msgstr "" msgstr ""
"Mot de passe pour l'authentification locale (laissez vide si vous ne " "Mot de passe pour l'authentification locale (laissez vide si vous ne "
"l'utilisez pas)" "l'utilisez pas)"
#: gatekeeper/models.py:71 #: gatekeeper/models.py:69
msgid "Per-user TOTP secret key" msgid "Per-user TOTP secret key"
msgstr "Clé secrète TOTP par utilisateur" msgstr "Clé secrète TOTP par utilisateur"
#: gatekeeper/models.py:110 templates/gatekeeper/gatekeeper_list.html:270 #: gatekeeper/models.py:108 templates/gatekeeper/gatekeeper_list.html:286
msgid "Allow" msgid "Allow"
msgstr "Autoriser" msgstr "Autoriser"
@@ -1440,57 +1502,102 @@ msgstr "Créer un utilisateur Gatekeeper"
msgid "Gatekeeper User saved successfully." msgid "Gatekeeper User saved successfully."
msgstr "Utilisateur Gatekeeper enregistré avec succès." msgstr "Utilisateur Gatekeeper enregistré avec succès."
#: gatekeeper/views.py:86 #: gatekeeper/views.py:69
msgid ""
"\n"
" <h4>Gatekeeper User</h4>\n"
" <p>Gatekeeper users are used for authenticating against protected "
"applications managed by this gateway.</p>\n"
"\n"
" <h5>Password</h5>\n"
" <p>Required when creating a user. When editing, leave both password "
"fields blank to keep the current password.\n"
" Passwords are stored using <strong>Argon2id</strong> hashing.</p>\n"
"\n"
" <h5>TOTP Secret</h5>\n"
" <p>Optional per-user TOTP secret. When set, this user will "
"authenticate using their own secret instead of the\n"
" global TOTP secret configured on the Authentication Method. Use the "
"buttons below the field to generate a\n"
" random secret and scan the QR code with your authenticator app. "
"Validate the secret by entering the current\n"
" 6-digit PIN before saving.</p>\n"
" "
msgstr ""
#: gatekeeper/views.py:106
msgid "Gatekeeper User deleted successfully." msgid "Gatekeeper User deleted successfully."
msgstr "Utilisateur Gatekeeper supprimé avec succès." msgstr "Utilisateur Gatekeeper supprimé avec succès."
#: gatekeeper/views.py:91 #: gatekeeper/views.py:111
msgid "Delete Gatekeeper User" msgid "Delete Gatekeeper User"
msgstr "Supprimer l'utilisateur Gatekeeper" msgstr "Supprimer l'utilisateur Gatekeeper"
#: gatekeeper/views.py:93 #: gatekeeper/views.py:113
#, python-format #, python-format
msgid "Are you sure you want to delete the user \"%(username)s\"?" msgid "Are you sure you want to delete the user \"%(username)s\"?"
msgstr "Êtes-vous sûr de vouloir supprimer l'utilisateur \"%(username)s\" ?" msgstr "Êtes-vous sûr de vouloir supprimer l'utilisateur \"%(username)s\" ?"
#: gatekeeper/views.py:107 #: gatekeeper/views.py:127
msgid "Edit Gatekeeper Group" msgid "Edit Gatekeeper Group"
msgstr "Modifier le groupe Gatekeeper" msgstr "Modifier le groupe Gatekeeper"
#: gatekeeper/views.py:110 #: gatekeeper/views.py:130
msgid "Create Gatekeeper Group" msgid "Create Gatekeeper Group"
msgstr "Créer un groupe Gatekeeper" msgstr "Créer un groupe Gatekeeper"
#: gatekeeper/views.py:117 #: gatekeeper/views.py:137
msgid "Gatekeeper Group saved successfully." msgid "Gatekeeper Group saved successfully."
msgstr "Groupe Gatekeeper enregistré avec succès." msgstr "Groupe Gatekeeper enregistré avec succès."
#: gatekeeper/views.py:139 #: gatekeeper/views.py:159
msgid "Gatekeeper Group deleted successfully." msgid "Gatekeeper Group deleted successfully."
msgstr "Groupe Gatekeeper supprimé avec succès." msgstr "Groupe Gatekeeper supprimé avec succès."
#: gatekeeper/views.py:144 #: gatekeeper/views.py:164
msgid "Delete Gatekeeper Group" msgid "Delete Gatekeeper Group"
msgstr "Supprimer le groupe Gatekeeper" msgstr "Supprimer le groupe Gatekeeper"
#: gatekeeper/views.py:146 #: gatekeeper/views.py:166
#, python-format #, python-format
msgid "Are you sure you want to delete the group \"%(name)s\"?" msgid "Are you sure you want to delete the group \"%(name)s\"?"
msgstr "Êtes-vous sûr de vouloir supprimer le groupe \"%(name)s\" ?" msgstr "Êtes-vous sûr de vouloir supprimer le groupe \"%(name)s\" ?"
#: gatekeeper/views.py:160 #: gatekeeper/views.py:180
msgid "Edit Authentication Method" msgid "Edit Authentication Method"
msgstr "Modifier la méthode d'authentification" msgstr "Modifier la méthode d'authentification"
#: gatekeeper/views.py:163 #: gatekeeper/views.py:183
msgid "Create Authentication Method" msgid "Create Authentication Method"
msgstr "Créer une méthode d'authentification" msgstr "Créer une méthode d'authentification"
#: gatekeeper/views.py:170 #: gatekeeper/views.py:190
msgid "Authentication Method saved successfully." msgid "Authentication Method saved successfully."
msgstr "Méthode d'authentification enregistrée avec succès." msgstr "Méthode d'authentification enregistrée avec succès."
#: gatekeeper/views.py:175 #: gatekeeper/views.py:195
#, fuzzy
#| msgid ""
#| "\n"
#| " <h4>Authentication Types</h4>\n"
#| " <p>Select how users will authenticate through this method.</p>\n"
#| " \n"
#| " <h5>Local Password</h5>\n"
#| " <p>Users will authenticate using a standard username and password "
#| "stored locally. Only one of this type can be created.</p>\n"
#| " \n"
#| " <h5>OIDC (OpenID Connect)</h5>\n"
#| " <p>Users will authenticate via an external identity provider "
#| "(like Keycloak, Google, or Authelia). Requires Provider URL, Client ID, "
#| "and Client Secret.</p>\n"
#| " \n"
#| " <h5>TOTP (Time-Based One-Time Password)</h5>\n"
#| " <p>Users will need to enter a rotating token from an "
#| "authenticator app. Requires setting a Global TOTP Secret. <br>If "
#| "<strong>Global TOTP Before Authentication</strong> is enabled, the PIN is "
#| "required before the username and password to help combat bruteforce "
#| "attacks.</p>\n"
#| " "
msgid "" msgid ""
"\n" "\n"
" <h4>Authentication Types</h4>\n" " <h4>Authentication Types</h4>\n"
@@ -1507,9 +1614,8 @@ msgid ""
" \n" " \n"
" <h5>TOTP (Time-Based One-Time Password)</h5>\n" " <h5>TOTP (Time-Based One-Time Password)</h5>\n"
" <p>Users will need to enter a rotating token from an authenticator " " <p>Users will need to enter a rotating token from an authenticator "
"app. Requires setting a Global TOTP Secret. <br>If <strong>Global TOTP " "app. If a user does not have a personal TOTP configured, the <strong>Global "
"Before Authentication</strong> is enabled, the PIN is required before the " "TOTP Secret</strong> will be used instead. </p>\n"
"username and password to help combat bruteforce attacks.</p>\n"
" " " "
msgstr "" msgstr ""
"\n" "\n"
@@ -1535,86 +1641,86 @@ msgstr ""
"pour aider à lutter contre les attaques par force brute.</p>\n" "pour aider à lutter contre les attaques par force brute.</p>\n"
" " " "
#: gatekeeper/views.py:210 #: gatekeeper/views.py:230
msgid "Authentication Method deleted successfully." msgid "Authentication Method deleted successfully."
msgstr "Méthode d'authentification supprimée avec succès." msgstr "Méthode d'authentification supprimée avec succès."
#: gatekeeper/views.py:215 #: gatekeeper/views.py:235
msgid "Delete Authentication Method" msgid "Delete Authentication Method"
msgstr "Supprimer la méthode d'authentification" msgstr "Supprimer la méthode d'authentification"
#: gatekeeper/views.py:217 #: gatekeeper/views.py:237
#, python-format #, python-format
msgid "Are you sure you want to delete the authentication method \"%(name)s\"?" msgid "Are you sure you want to delete the authentication method \"%(name)s\"?"
msgstr "" msgstr ""
"Êtes-vous sûr de vouloir supprimer la méthode d'authentification " "Êtes-vous sûr de vouloir supprimer la méthode d'authentification "
"\"%(name)s\" ?" "\"%(name)s\" ?"
#: gatekeeper/views.py:267 #: gatekeeper/views.py:287
msgid "Edit Allowed Domain" msgid "Edit Allowed Domain"
msgstr "Modifier le domaine autorisé" msgstr "Modifier le domaine autorisé"
#: gatekeeper/views.py:270 templates/gatekeeper/gatekeeper_list.html:186 #: gatekeeper/views.py:290 templates/gatekeeper/gatekeeper_list.html:202
msgid "Add Allowed Domain" msgid "Add Allowed Domain"
msgstr "Ajouter un domaine autorisé" msgstr "Ajouter un domaine autorisé"
#: gatekeeper/views.py:277 #: gatekeeper/views.py:297
msgid "Allowed Domain saved successfully." msgid "Allowed Domain saved successfully."
msgstr "Domaine autorisé enregistré avec succès." msgstr "Domaine autorisé enregistré avec succès."
#: gatekeeper/views.py:299 #: gatekeeper/views.py:319
msgid "Allowed Domain deleted successfully." msgid "Allowed Domain deleted successfully."
msgstr "Domaine autorisé supprimé avec succès." msgstr "Domaine autorisé supprimé avec succès."
#: gatekeeper/views.py:304 #: gatekeeper/views.py:324
msgid "Delete Allowed Domain" msgid "Delete Allowed Domain"
msgstr "Supprimer le domaine autorisé" msgstr "Supprimer le domaine autorisé"
#: gatekeeper/views.py:306 #: gatekeeper/views.py:326
#, python-format #, python-format
msgid "Are you sure you want to delete the allowed domain \"%(domain)s\"?" msgid "Are you sure you want to delete the allowed domain \"%(domain)s\"?"
msgstr "" msgstr ""
"Êtes-vous sûr de vouloir supprimer le domaine autorisé \"%(domain)s\" ?" "Êtes-vous sûr de vouloir supprimer le domaine autorisé \"%(domain)s\" ?"
#: gatekeeper/views.py:320 #: gatekeeper/views.py:340
msgid "Edit Allowed Email" msgid "Edit Allowed Email"
msgstr "Modifier l'e-mail autorisé" msgstr "Modifier l'e-mail autorisé"
#: gatekeeper/views.py:323 templates/gatekeeper/gatekeeper_list.html:183 #: gatekeeper/views.py:343 templates/gatekeeper/gatekeeper_list.html:199
msgid "Add Allowed Email" msgid "Add Allowed Email"
msgstr "Ajouter un e-mail autorisé" msgstr "Ajouter un e-mail autorisé"
#: gatekeeper/views.py:330 #: gatekeeper/views.py:350
msgid "Allowed Email saved successfully." msgid "Allowed Email saved successfully."
msgstr "E-mail autorisé enregistré avec succès." msgstr "E-mail autorisé enregistré avec succès."
#: gatekeeper/views.py:352 #: gatekeeper/views.py:372
msgid "Allowed Email deleted successfully." msgid "Allowed Email deleted successfully."
msgstr "E-mail autorisé supprimé avec succès." msgstr "E-mail autorisé supprimé avec succès."
#: gatekeeper/views.py:357 #: gatekeeper/views.py:377
msgid "Delete Allowed Email" msgid "Delete Allowed Email"
msgstr "Supprimer l'e-mail autorisé" msgstr "Supprimer l'e-mail autorisé"
#: gatekeeper/views.py:359 #: gatekeeper/views.py:379
#, python-format #, python-format
msgid "Are you sure you want to delete the allowed email \"%(email)s\"?" msgid "Are you sure you want to delete the allowed email \"%(email)s\"?"
msgstr "Êtes-vous sûr de vouloir supprimer l'e-mail autorisé \"%(email)s\" ?" msgstr "Êtes-vous sûr de vouloir supprimer l'e-mail autorisé \"%(email)s\" ?"
#: gatekeeper/views.py:373 #: gatekeeper/views.py:393
msgid "Edit IP Address" msgid "Edit IP Address"
msgstr "Modifier l'adresse IP" msgstr "Modifier l'adresse IP"
#: gatekeeper/views.py:376 templates/gatekeeper/gatekeeper_list.html:247 #: gatekeeper/views.py:396 templates/gatekeeper/gatekeeper_list.html:263
#: templates/wireguard/wireguard_manage_peer.html:171 #: templates/wireguard/wireguard_manage_peer.html:171
msgid "Add IP Address" msgid "Add IP Address"
msgstr "Ajouter une adresse IP" msgstr "Ajouter une adresse IP"
#: gatekeeper/views.py:383 #: gatekeeper/views.py:403
msgid "IP Address saved successfully." msgid "IP Address saved successfully."
msgstr "Adresse IP enregistrée avec succès." msgstr "Adresse IP enregistrée avec succès."
#: gatekeeper/views.py:388 #: gatekeeper/views.py:408
msgid "" msgid ""
"\n" "\n"
" <h5>IP Address List</h5>\n" " <h5>IP Address List</h5>\n"
@@ -1661,15 +1767,15 @@ msgstr ""
"\"Réseau de bureau\", \"Attaquant bloqué\").</p>\n" "\"Réseau de bureau\", \"Attaquant bloqué\").</p>\n"
" " " "
#: gatekeeper/views.py:424 #: gatekeeper/views.py:444
msgid "IP Address deleted successfully." msgid "IP Address deleted successfully."
msgstr "Adresse IP supprimée avec succès." msgstr "Adresse IP supprimée avec succès."
#: gatekeeper/views.py:429 #: gatekeeper/views.py:449
msgid "Delete IP Address" msgid "Delete IP Address"
msgstr "Supprimer l'adresse IP" msgstr "Supprimer l'adresse IP"
#: gatekeeper/views.py:431 #: gatekeeper/views.py:451
#, python-format #, python-format
msgid "Are you sure you want to delete the IP address \"%(address)s\"?" msgid "Are you sure you want to delete the IP address \"%(address)s\"?"
msgstr "Êtes-vous sûr de vouloir supprimer l'adresse IP \"%(address)s\" ?" msgstr "Êtes-vous sûr de vouloir supprimer l'adresse IP \"%(address)s\" ?"
@@ -2034,8 +2140,8 @@ msgid "In"
msgstr "Entrée" msgstr "Entrée"
#: templates/api_v2/api_documentation.html:49 #: templates/api_v2/api_documentation.html:49
#: templates/gatekeeper/gatekeeper_list.html:150 #: templates/gatekeeper/gatekeeper_list.html:166
#: templates/gatekeeper/gatekeeper_list.html:195 #: templates/gatekeeper/gatekeeper_list.html:211
#: templates/wireguard/apply_route_template.html:27 #: templates/wireguard/apply_route_template.html:27
msgid "Type" msgid "Type"
msgstr "Type" msgstr "Type"
@@ -2045,11 +2151,13 @@ msgid "Required"
msgstr "Obligatoire" msgstr "Obligatoire"
#: templates/api_v2/api_documentation.html:62 #: templates/api_v2/api_documentation.html:62
#: templates/gatekeeper/gatekeeper_list.html:75
#: templates/scheduler/scheduleprofile_form.html:175 #: templates/scheduler/scheduleprofile_form.html:175
msgid "Yes" msgid "Yes"
msgstr "Oui" msgstr "Oui"
#: templates/api_v2/api_documentation.html:64 #: templates/api_v2/api_documentation.html:64
#: templates/gatekeeper/gatekeeper_list.html:77
#: templates/scheduler/scheduleprofile_form.html:177 #: templates/scheduler/scheduleprofile_form.html:177
msgid "No" msgid "No"
msgstr "Non" msgstr "Non"
@@ -2094,12 +2202,12 @@ msgstr "Désactivé"
#: templates/app_gateway/application_details.html:121 #: templates/app_gateway/application_details.html:121
#: templates/cluster/workers_list.html:77 #: templates/cluster/workers_list.html:77
#: templates/dns/static_host_list.html:74 #: templates/dns/static_host_list.html:74
#: templates/gatekeeper/gatekeeper_list.html:73 #: templates/gatekeeper/gatekeeper_list.html:89
#: templates/gatekeeper/gatekeeper_list.html:116 #: templates/gatekeeper/gatekeeper_list.html:132
#: templates/gatekeeper/gatekeeper_list.html:161 #: templates/gatekeeper/gatekeeper_list.html:177
#: templates/gatekeeper/gatekeeper_list.html:209 #: templates/gatekeeper/gatekeeper_list.html:225
#: templates/gatekeeper/gatekeeper_list.html:226 #: templates/gatekeeper/gatekeeper_list.html:242
#: templates/gatekeeper/gatekeeper_list.html:278 #: templates/gatekeeper/gatekeeper_list.html:294
#: templates/routing_templates/list.html:29 #: templates/routing_templates/list.html:29
#: templates/scheduler/scheduleprofile_form.html:123 #: templates/scheduler/scheduleprofile_form.html:123
#: templates/scheduler/scheduleprofile_list.html:25 #: templates/scheduler/scheduleprofile_list.html:25
@@ -2182,6 +2290,7 @@ msgstr "Ajouter une politique d'accès"
#: templates/app_gateway/app_gateway_list.html:140 #: templates/app_gateway/app_gateway_list.html:140
#: templates/gatekeeper/gatekeeper_list.html:43 #: templates/gatekeeper/gatekeeper_list.html:43
#: templates/gatekeeper/gatekeeper_list.html:64
msgid "Groups" msgid "Groups"
msgstr "Groupes" msgstr "Groupes"
@@ -2192,10 +2301,10 @@ msgstr "Méthodes d'authentification"
#: templates/app_gateway/app_gateway_list.html:142 #: templates/app_gateway/app_gateway_list.html:142
#: templates/app_gateway/application_details.html:62 #: templates/app_gateway/application_details.html:62
#: templates/app_gateway/application_details.html:109 #: templates/app_gateway/application_details.html:109
#: templates/gatekeeper/gatekeeper_list.html:63 #: templates/gatekeeper/gatekeeper_list.html:65
#: templates/gatekeeper/gatekeeper_list.html:106 #: templates/gatekeeper/gatekeeper_list.html:122
#: templates/gatekeeper/gatekeeper_list.html:151 #: templates/gatekeeper/gatekeeper_list.html:167
#: templates/gatekeeper/gatekeeper_list.html:198 #: templates/gatekeeper/gatekeeper_list.html:214
#: templates/scheduler/scheduleprofile_form.html:111 #: templates/scheduler/scheduleprofile_form.html:111
#: templates/scheduler/scheduleprofile_list.html:15 #: templates/scheduler/scheduleprofile_list.html:15
#: templates/wireguard/apply_route_template.html:28 #: templates/wireguard/apply_route_template.html:28
@@ -2746,10 +2855,19 @@ msgid "Create Port forwarding Rule"
msgstr "Créer une règle de redirection de port" msgstr "Créer une règle de redirection de port"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:63 #: templates/gatekeeper/gatekeeper_auth_method_form.html:63
#: templates/gatekeeper/gatekeeper_user_form.html:43
msgid "View QR Code" msgid "View QR Code"
msgstr "Voir le code QR" msgstr "Voir le code QR"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:74 #: templates/gatekeeper/gatekeeper_auth_method_form.html:64
#: templates/gatekeeper/gatekeeper_user_form.html:44
#, fuzzy
#| msgid "Global TOTP Secret"
msgid "Generate TOTP Secret"
msgstr "Secret TOTP mondial"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:93
#: templates/gatekeeper/gatekeeper_user_form.html:73
msgid "Please enter a TOTP Secret first to generate the QR code." msgid "Please enter a TOTP Secret first to generate the QR code."
msgstr "Veuillez d'abord saisir un secret TOTP pour générer le code QR." msgstr "Veuillez d'abord saisir un secret TOTP pour générer le code QR."
@@ -2775,44 +2893,48 @@ msgstr "Utilisateurs"
msgid "Add User" msgid "Add User"
msgstr "Ajouter un utilisateur" msgstr "Ajouter un utilisateur"
#: templates/gatekeeper/gatekeeper_list.html:88 #: templates/gatekeeper/gatekeeper_list.html:63
msgid "TOTP"
msgstr ""
#: templates/gatekeeper/gatekeeper_list.html:104
msgid "No Gatekeeper Users found." msgid "No Gatekeeper Users found."
msgstr "Aucun utilisateur Gatekeeper trouvé." msgstr "Aucun utilisateur Gatekeeper trouvé."
#: templates/gatekeeper/gatekeeper_list.html:95 #: templates/gatekeeper/gatekeeper_list.html:111
msgid "Add Group" msgid "Add Group"
msgstr "Ajouter un groupe" msgstr "Ajouter un groupe"
#: templates/gatekeeper/gatekeeper_list.html:131 #: templates/gatekeeper/gatekeeper_list.html:147
msgid "No Gatekeeper Groups found." msgid "No Gatekeeper Groups found."
msgstr "Aucun groupe Gatekeeper trouvé." msgstr "Aucun groupe Gatekeeper trouvé."
#: templates/gatekeeper/gatekeeper_list.html:140 #: templates/gatekeeper/gatekeeper_list.html:156
msgid "Add Auth Method" msgid "Add Auth Method"
msgstr "Ajouter une méthode d'authentification" msgstr "Ajouter une méthode d'authentification"
#: templates/gatekeeper/gatekeeper_list.html:176 #: templates/gatekeeper/gatekeeper_list.html:192
msgid "No Authentication Methods found." msgid "No Authentication Methods found."
msgstr "Aucune méthode d'authentification trouvée." msgstr "Aucune méthode d'authentification trouvée."
#: templates/gatekeeper/gatekeeper_list.html:196 #: templates/gatekeeper/gatekeeper_list.html:212
msgid "Identity" msgid "Identity"
msgstr "Identité" msgstr "Identité"
#: templates/gatekeeper/gatekeeper_list.html:197 #: templates/gatekeeper/gatekeeper_list.html:213
#: templates/gatekeeper/gatekeeper_list.html:259 #: templates/gatekeeper/gatekeeper_list.html:275
msgid "Auth Method" msgid "Auth Method"
msgstr "Méthode d'authentification" msgstr "Méthode d'authentification"
#: templates/gatekeeper/gatekeeper_list.html:241 #: templates/gatekeeper/gatekeeper_list.html:257
msgid "No Allowed Emails or Domains found." msgid "No Allowed Emails or Domains found."
msgstr "Aucun e-mail ou domaine autorisé trouvé." msgstr "Aucun e-mail ou domaine autorisé trouvé."
#: templates/gatekeeper/gatekeeper_list.html:260 #: templates/gatekeeper/gatekeeper_list.html:276
msgid "Manage" msgid "Manage"
msgstr "Gérer" msgstr "Gérer"
#: templates/gatekeeper/gatekeeper_list.html:293 #: templates/gatekeeper/gatekeeper_list.html:309
msgid "No IP Addresses found." msgid "No IP Addresses found."
msgstr "Aucune adresse IP trouvée." msgstr "Aucune adresse IP trouvée."
@@ -3650,10 +3772,6 @@ msgstr ""
msgid "The two password fields didn't match." msgid "The two password fields didn't match."
msgstr "Les deux champs de mot de passe ne correspondent pas." msgstr "Les deux champs de mot de passe ne correspondent pas."
#: user_manager/forms.py:127
msgid "Password must be at least 8 characters long."
msgstr "Le mot de passe doit comporter au moins 8 caractères."
#: user_manager/forms.py:220 #: user_manager/forms.py:220
msgid "A peer group with that name already exists." msgid "A peer group with that name already exists."
msgstr "Un groupe de peers portant ce nom existe déjà." msgstr "Un groupe de peers portant ce nom existe déjà."
@@ -4429,3 +4547,6 @@ msgstr ""
#: wireguard_tools/views.py:374 #: wireguard_tools/views.py:374
msgid "No interfaces found|No WireGuard interfaces were found to process." msgid "No interfaces found|No WireGuard interfaces were found to process."
msgstr "Aucune interface trouvée | Aucune interface WireGuard à traiter." msgstr "Aucune interface trouvée | Aucune interface WireGuard à traiter."
#~ msgid "Global TOTP Before Authentication"
#~ msgstr "TOTP global avant l'authentification"

Binary file not shown.

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-14 11:54-0300\n" "POT-Creation-Date: 2026-03-15 17:20-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -38,12 +38,12 @@ msgstr "Voltar"
#: templates/app_gateway/application_details.html:125 #: templates/app_gateway/application_details.html:125
#: templates/firewall/manage_firewall_rule.html:382 #: templates/firewall/manage_firewall_rule.html:382
#: templates/firewall/manage_redirect_rule.html:86 #: templates/firewall/manage_redirect_rule.html:86
#: templates/gatekeeper/gatekeeper_list.html:77 #: templates/gatekeeper/gatekeeper_list.html:93
#: templates/gatekeeper/gatekeeper_list.html:120 #: templates/gatekeeper/gatekeeper_list.html:136
#: templates/gatekeeper/gatekeeper_list.html:165 #: templates/gatekeeper/gatekeeper_list.html:181
#: templates/gatekeeper/gatekeeper_list.html:213 #: templates/gatekeeper/gatekeeper_list.html:229
#: templates/gatekeeper/gatekeeper_list.html:230 #: templates/gatekeeper/gatekeeper_list.html:246
#: templates/gatekeeper/gatekeeper_list.html:282 #: templates/gatekeeper/gatekeeper_list.html:298
#: templates/scheduler/scheduleprofile_form.html:127 #: templates/scheduler/scheduleprofile_form.html:127
#: templates/scheduler/scheduleprofile_list.html:29 #: templates/scheduler/scheduleprofile_list.html:29
#: templates/wireguard/peer_list/peer_preview_modal.html:109 #: templates/wireguard/peer_list/peer_preview_modal.html:109
@@ -65,11 +65,11 @@ msgstr ""
"funcionar imediatamente." "funcionar imediatamente."
#: api_v2/forms.py:63 app_gateway/forms.py:40 app_gateway/forms.py:92 #: api_v2/forms.py:63 app_gateway/forms.py:40 app_gateway/forms.py:92
#: app_gateway/forms.py:136 app_gateway/forms.py:154 app_gateway/forms.py:226 #: app_gateway/forms.py:136 app_gateway/forms.py:154 app_gateway/forms.py:237
#: app_gateway/forms.py:267 cluster/forms.py:67 cluster/forms.py:124 #: app_gateway/forms.py:278 cluster/forms.py:67 cluster/forms.py:124
#: dns/forms.py:37 dns/forms.py:84 dns/forms.py:153 gatekeeper/forms.py:41 #: dns/forms.py:37 dns/forms.py:84 dns/forms.py:153 gatekeeper/forms.py:70
#: gatekeeper/forms.py:75 gatekeeper/forms.py:139 gatekeeper/forms.py:226 #: gatekeeper/forms.py:150 gatekeeper/forms.py:212 gatekeeper/forms.py:299
#: gatekeeper/forms.py:256 gatekeeper/forms.py:287 #: gatekeeper/forms.py:329 gatekeeper/forms.py:360
#: routing_templates/forms.py:71 scheduler/forms.py:102 #: routing_templates/forms.py:71 scheduler/forms.py:102
#: templates/firewall/manage_firewall_rule.html:379 #: templates/firewall/manage_firewall_rule.html:379
#: templates/firewall/manage_firewall_settings.html:59 #: templates/firewall/manage_firewall_settings.html:59
@@ -83,13 +83,13 @@ msgid "Save"
msgstr "Salvar" msgstr "Salvar"
#: api_v2/models.py:10 app_gateway/forms.py:18 app_gateway/forms.py:106 #: api_v2/models.py:10 app_gateway/forms.py:18 app_gateway/forms.py:106
#: cluster/forms.py:18 dns/forms.py:130 gatekeeper/forms.py:99 #: cluster/forms.py:18 dns/forms.py:130 gatekeeper/forms.py:174
#: routing_templates/forms.py:28 templates/api_v2/api_documentation.html:47 #: routing_templates/forms.py:28 templates/api_v2/api_documentation.html:47
#: templates/api_v2/list.html:8 templates/app_gateway/app_gateway_list.html:58 #: templates/api_v2/list.html:8 templates/app_gateway/app_gateway_list.html:58
#: templates/app_gateway/app_gateway_list.html:138 #: templates/app_gateway/app_gateway_list.html:138
#: templates/app_gateway/application_details.html:26 #: templates/app_gateway/application_details.html:26
#: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 #: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68
#: templates/gatekeeper/gatekeeper_list.html:149 #: templates/gatekeeper/gatekeeper_list.html:165
#: templates/routing_templates/list.html:8 #: templates/routing_templates/list.html:8
#: templates/scheduler/scheduleprofile_list.html:13 #: templates/scheduler/scheduleprofile_list.html:13
#: templates/user_manager/peer_group_list.html:8 #: templates/user_manager/peer_group_list.html:8
@@ -133,10 +133,10 @@ msgstr "Habilitado"
#: app_gateway/views.py:293 app_gateway/views.py:328 app_gateway/views.py:354 #: app_gateway/views.py:293 app_gateway/views.py:328 app_gateway/views.py:354
#: app_gateway/views.py:404 app_gateway/views.py:432 cluster/views.py:18 #: app_gateway/views.py:404 app_gateway/views.py:432 cluster/views.py:18
#: cluster/views.py:45 cluster/views.py:114 gatekeeper/views.py:23 #: cluster/views.py:45 cluster/views.py:114 gatekeeper/views.py:23
#: gatekeeper/views.py:48 gatekeeper/views.py:78 gatekeeper/views.py:101 #: gatekeeper/views.py:48 gatekeeper/views.py:98 gatekeeper/views.py:121
#: gatekeeper/views.py:131 gatekeeper/views.py:154 gatekeeper/views.py:202 #: gatekeeper/views.py:151 gatekeeper/views.py:174 gatekeeper/views.py:222
#: gatekeeper/views.py:261 gatekeeper/views.py:291 gatekeeper/views.py:314 #: gatekeeper/views.py:281 gatekeeper/views.py:311 gatekeeper/views.py:334
#: gatekeeper/views.py:344 gatekeeper/views.py:367 gatekeeper/views.py:416 #: gatekeeper/views.py:364 gatekeeper/views.py:387 gatekeeper/views.py:436
#: templates/access_denied.html:9 #: templates/access_denied.html:9
msgid "Access Denied" msgid "Access Denied"
msgstr "Acesso Negado" msgstr "Acesso Negado"
@@ -217,9 +217,9 @@ msgid "Upstream"
msgstr "Upstream" msgstr "Upstream"
#: app_gateway/forms.py:41 app_gateway/forms.py:93 app_gateway/forms.py:137 #: app_gateway/forms.py:41 app_gateway/forms.py:93 app_gateway/forms.py:137
#: app_gateway/forms.py:155 app_gateway/forms.py:227 app_gateway/forms.py:268 #: app_gateway/forms.py:155 app_gateway/forms.py:238 app_gateway/forms.py:279
#: gatekeeper/forms.py:42 gatekeeper/forms.py:76 gatekeeper/forms.py:140 #: gatekeeper/forms.py:71 gatekeeper/forms.py:151 gatekeeper/forms.py:213
#: gatekeeper/forms.py:227 gatekeeper/forms.py:257 gatekeeper/forms.py:288 #: gatekeeper/forms.py:300 gatekeeper/forms.py:330 gatekeeper/forms.py:361
#: scheduler/forms.py:103 #: scheduler/forms.py:103
#: templates/app_gateway/access_policy_type_select.html:50 #: templates/app_gateway/access_policy_type_select.html:50
#: templates/generic_delete_confirmation.html:19 #: templates/generic_delete_confirmation.html:19
@@ -263,19 +263,26 @@ msgstr "Grupos Permitidos"
msgid "Authentication Methods" msgid "Authentication Methods"
msgstr "Métodos de Autenticação" msgstr "Métodos de Autenticação"
#: app_gateway/forms.py:185 #: app_gateway/forms.py:188
msgid "Cannot select more than one Local Password authentication method." msgid "Cannot select more than one Local Password authentication method."
msgstr "" msgstr ""
"Não é possível selecionar mais de um método de autenticação por Senha Local." "Não é possível selecionar mais de um método de autenticação por Senha Local."
#: app_gateway/forms.py:189 #: app_gateway/forms.py:192
msgid "" msgid ""
"Cannot select more than one OpenID Connect (OIDC) authentication method." "Cannot select more than one OpenID Connect (OIDC) authentication method."
msgstr "" msgstr ""
"Não é possível selecionar mais de um método de autenticação OpenID Connect " "Não é possível selecionar mais de um método de autenticação OpenID Connect "
"(OIDC)." "(OIDC)."
#: app_gateway/forms.py:193 #: app_gateway/forms.py:196
#, fuzzy
#| msgid "Cannot select more than one Local Password authentication method."
msgid "Cannot select more than one TOTP authentication method."
msgstr ""
"Não é possível selecionar mais de um método de autenticação por Senha Local."
#: app_gateway/forms.py:200
msgid "" msgid ""
"Cannot select both Local Password and OpenID Connect (OIDC) authentication " "Cannot select both Local Password and OpenID Connect (OIDC) authentication "
"methods." "methods."
@@ -283,7 +290,19 @@ msgstr ""
"Não é possível selecionar simultaneamente os métodos de autenticação por " "Não é possível selecionar simultaneamente os métodos de autenticação por "
"Senha Local e OpenID Connect (OIDC)." "Senha Local e OpenID Connect (OIDC)."
#: app_gateway/forms.py:197 #: app_gateway/forms.py:204
#, fuzzy
#| msgid ""
#| "Cannot select both Local Password and OpenID Connect (OIDC) "
#| "authentication methods."
msgid ""
"TOTP must be combined with a Local Password or OpenID Connect authentication "
"method."
msgstr ""
"Não é possível selecionar simultaneamente os métodos de autenticação por "
"Senha Local e OpenID Connect (OIDC)."
#: app_gateway/forms.py:208
msgid "" msgid ""
"At least one user group must be selected when using Local Password " "At least one user group must be selected when using Local Password "
"authentication." "authentication."
@@ -291,30 +310,30 @@ msgstr ""
"Pelo menos um grupo de usuários deve ser selecionado ao usar a autenticação " "Pelo menos um grupo de usuários deve ser selecionado ao usar a autenticação "
"por Senha Local." "por Senha Local."
#: app_gateway/forms.py:201 #: app_gateway/forms.py:212
msgid "User groups can only be used with Local Password authentication." msgid "User groups can only be used with Local Password authentication."
msgstr "" msgstr ""
"Grupos de usuários só podem ser usados com autenticação por Senha Local." "Grupos de usuários só podem ser usados com autenticação por Senha Local."
#: app_gateway/forms.py:211 templates/app_gateway/app_gateway_list.html:62 #: app_gateway/forms.py:222 templates/app_gateway/app_gateway_list.html:62
#: templates/app_gateway/application_details.html:31 #: templates/app_gateway/application_details.html:31
#: templates/firewall/firewall_nav_tabs.html:15 #: templates/firewall/firewall_nav_tabs.html:15
msgid "Default Policy" msgid "Default Policy"
msgstr "Política Padrão" msgstr "Política Padrão"
#: app_gateway/forms.py:240 templates/app_gateway/application_details.html:105 #: app_gateway/forms.py:251 templates/app_gateway/application_details.html:105
msgid "Route Name" msgid "Route Name"
msgstr "Nome da Rota" msgstr "Nome da Rota"
#: app_gateway/forms.py:241 templates/app_gateway/application_details.html:106 #: app_gateway/forms.py:252 templates/app_gateway/application_details.html:106
msgid "Path Prefix" msgid "Path Prefix"
msgstr "Prefixo do Caminho" msgstr "Prefixo do Caminho"
#: app_gateway/forms.py:242 templates/app_gateway/application_details.html:107 #: app_gateway/forms.py:253 templates/app_gateway/application_details.html:107
msgid "Policy" msgid "Policy"
msgstr "Política" msgstr "Política"
#: app_gateway/forms.py:243 templates/app_gateway/application_details.html:108 #: app_gateway/forms.py:254 templates/app_gateway/application_details.html:108
msgid "Order" msgid "Order"
msgstr "Ordem" msgstr "Ordem"
@@ -332,9 +351,9 @@ msgstr "Público"
msgid "Protected" msgid "Protected"
msgstr "Protegido" msgstr "Protegido"
#: app_gateway/models.py:45 gatekeeper/models.py:110 #: app_gateway/models.py:45 gatekeeper/models.py:108
#: templates/app_gateway/access_policy_type_select.html:41 #: templates/app_gateway/access_policy_type_select.html:41
#: templates/gatekeeper/gatekeeper_list.html:272 #: templates/gatekeeper/gatekeeper_list.html:288
msgid "Deny" msgid "Deny"
msgstr "Negar" msgstr "Negar"
@@ -615,11 +634,11 @@ msgstr "Excluir Rota da Aplicação"
msgid "Are you sure you want to delete the route \"%(name)s\" (%(path)s)?" msgid "Are you sure you want to delete the route \"%(name)s\" (%(path)s)?"
msgstr "Tem certeza de que deseja excluir a rota \"%(name)s\" (%(path)s)?" msgstr "Tem certeza de que deseja excluir a rota \"%(name)s\" (%(path)s)?"
#: app_gateway/views.py:444 #: app_gateway/views.py:443
msgid "Configuration exported successfully." msgid "Configuration exported successfully."
msgstr "Configuração exportada com sucesso." msgstr "Configuração exportada com sucesso."
#: app_gateway/views.py:446 #: app_gateway/views.py:445
msgid "" msgid ""
"Caddy is not active. Configuration files were exported for debugging " "Caddy is not active. Configuration files were exported for debugging "
"purposes." "purposes."
@@ -631,13 +650,13 @@ msgstr ""
msgid "IP Lock" msgid "IP Lock"
msgstr "Bloqueio de IP" msgstr "Bloqueio de IP"
#: cluster/forms.py:21 dns/forms.py:67 gatekeeper/forms.py:198 #: cluster/forms.py:21 dns/forms.py:67 gatekeeper/forms.py:271
#: templates/cluster/workers_list.html:10 #: templates/cluster/workers_list.html:10
#: templates/dns/static_host_list.html:18 #: templates/dns/static_host_list.html:18
#: templates/firewall/manage_redirect_rule.html:43 #: templates/firewall/manage_redirect_rule.html:43
#: templates/firewall/manage_redirect_rule.html:67 #: templates/firewall/manage_redirect_rule.html:67
#: templates/firewall/manage_redirect_rule.html:68 #: templates/firewall/manage_redirect_rule.html:68
#: templates/gatekeeper/gatekeeper_list.html:256 #: templates/gatekeeper/gatekeeper_list.html:272
#: templates/wireguard/wireguard_status.html:45 #: templates/wireguard/wireguard_status.html:45
msgid "IP Address" msgid "IP Address"
msgstr "Endereço IP" msgstr "Endereço IP"
@@ -912,7 +931,7 @@ msgstr "DNS Estático"
msgid "Invalid hostname." msgid "Invalid hostname."
msgstr "Nome de host inválido." msgstr "Nome de host inválido."
#: dns/forms.py:131 firewall/forms.py:111 gatekeeper/forms.py:201 #: dns/forms.py:131 firewall/forms.py:111 gatekeeper/forms.py:274
#: templates/api_v2/api_documentation.html:51 #: templates/api_v2/api_documentation.html:51
#: templates/dns/static_host_list.html:69 #: templates/dns/static_host_list.html:69
#: templates/firewall/manage_redirect_rule.html:18 #: templates/firewall/manage_redirect_rule.html:18
@@ -1247,43 +1266,29 @@ msgstr "Gerenciar Configurações de Firewall"
msgid "Firewall settings saved successfully" msgid "Firewall settings saved successfully"
msgstr "Configurações de Firewall salvas com sucesso" msgstr "Configurações de Firewall salvas com sucesso"
#: gatekeeper/forms.py:17 templates/accounts/login.html:14 #: gatekeeper/forms.py:17 templates/accounts/login.html:23
#: templates/gatekeeper/gatekeeper_list.html:61
#: templates/user_manager/list.html:8 user_manager/forms.py:13
#: vpn_invite/forms.py:281
msgid "Username"
msgstr "Usuário"
#: gatekeeper/forms.py:18 gatekeeper/forms.py:271
#: templates/gatekeeper/gatekeeper_list.html:62
#: templates/gatekeeper/gatekeeper_list.html:204
#: templates/wireguard/peer_list/peer_preview_modal.html:103
msgid "Email"
msgstr "Email"
#: gatekeeper/forms.py:19 templates/accounts/login.html:23
#: templates/vpn_invite/invite_settings.html:19 user_manager/forms.py:14 #: templates/vpn_invite/invite_settings.html:19 user_manager/forms.py:14
#: vpn_invite/forms.py:282 #: vpn_invite/forms.py:282
msgid "Password" msgid "Password"
msgstr "Senha" msgstr "Senha"
#: gatekeeper/forms.py:20 #: gatekeeper/forms.py:20
msgid "TOTP Secret" msgid ""
msgstr "Segredo TOTP" "Minimum 8 characters, with at least one uppercase letter, one lowercase "
"letter, and one number."
msgstr ""
#: gatekeeper/forms.py:55 templates/gatekeeper/gatekeeper_list.html:104 #: gatekeeper/forms.py:23
msgid "Group Name" #, fuzzy
msgstr "Nome do Grupo" #| msgid "Random Password"
msgid "Confirm Password"
msgstr "Senha Aleatória"
#: gatekeeper/forms.py:56 templates/gatekeeper/gatekeeper_list.html:105 #: gatekeeper/forms.py:28 gatekeeper/forms.py:161
msgid "Members"
msgstr "Membros"
#: gatekeeper/forms.py:86
msgid "TOTP Validation PIN" msgid "TOTP Validation PIN"
msgstr "PIN de Validação TOTP" msgstr "PIN de Validação TOTP"
#: gatekeeper/forms.py:89 #: gatekeeper/forms.py:31 gatekeeper/forms.py:164
msgid "" msgid ""
"Enter a 6-digit PIN generated by your authenticator app to validate the " "Enter a 6-digit PIN generated by your authenticator app to validate the "
"secret." "secret."
@@ -1291,90 +1296,146 @@ msgstr ""
"Insira um PIN de 6 dígitos gerado pelo seu aplicativo autenticador para " "Insira um PIN de 6 dígitos gerado pelo seu aplicativo autenticador para "
"validar o segredo." "validar o segredo."
#: gatekeeper/forms.py:100 #: gatekeeper/forms.py:38 templates/accounts/login.html:14
#: templates/gatekeeper/gatekeeper_list.html:61
#: templates/user_manager/list.html:8 user_manager/forms.py:13
#: vpn_invite/forms.py:281
msgid "Username"
msgstr "Usuário"
#: gatekeeper/forms.py:39 gatekeeper/forms.py:344
#: templates/gatekeeper/gatekeeper_list.html:62
#: templates/gatekeeper/gatekeeper_list.html:220
#: templates/wireguard/peer_list/peer_preview_modal.html:103
msgid "Email"
msgstr "Email"
#: gatekeeper/forms.py:40
msgid "TOTP Secret"
msgstr "Segredo TOTP"
#: gatekeeper/forms.py:87
#, fuzzy
#| msgid "Port is required."
msgid "Password is required."
msgstr "Porta é obrigatória."
#: gatekeeper/forms.py:90 user_manager/forms.py:127
msgid "Password must be at least 8 characters long."
msgstr "Senha deve ter pelo menos 8 caracteres."
#: gatekeeper/forms.py:92
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one lowercase letter."
msgstr "Senha deve ter pelo menos 8 caracteres."
#: gatekeeper/forms.py:94
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one uppercase letter."
msgstr "Senha deve ter pelo menos 8 caracteres."
#: gatekeeper/forms.py:96
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one number."
msgstr "Senha deve ter pelo menos 8 caracteres."
#: gatekeeper/forms.py:98
#, fuzzy
#| msgid "Password Confirmation"
msgid "Passwords do not match."
msgstr "Confirmação de Senha"
#: gatekeeper/forms.py:103 gatekeeper/forms.py:249
msgid "Please provide a PIN to validate the TOTP secret."
msgstr "Por favor, forneça um PIN para validar o segredo TOTP."
#: gatekeeper/forms.py:108 gatekeeper/forms.py:254
msgid "Invalid TOTP PIN."
msgstr "PIN TOTP inválido."
#: gatekeeper/forms.py:110 gatekeeper/forms.py:256
msgid "Invalid TOTP secret format. Must be a valid Base32 string."
msgstr "Formato de segredo TOTP inválido. Deve ser uma string Base32 válida."
#: gatekeeper/forms.py:130 templates/gatekeeper/gatekeeper_list.html:120
msgid "Group Name"
msgstr "Nome do Grupo"
#: gatekeeper/forms.py:131 templates/gatekeeper/gatekeeper_list.html:121
msgid "Members"
msgstr "Membros"
#: gatekeeper/forms.py:175
msgid "Authentication Type" msgid "Authentication Type"
msgstr "Tipo de Autenticação" msgstr "Tipo de Autenticação"
#: gatekeeper/forms.py:101 #: gatekeeper/forms.py:176
msgid "Global TOTP Secret" msgid "Global TOTP Secret"
msgstr "Segredo TOTP Global" msgstr "Segredo TOTP Global"
#: gatekeeper/forms.py:102 #: gatekeeper/forms.py:177
msgid "Global TOTP Before Authentication"
msgstr "TOTP Global Antes da Autenticação"
#: gatekeeper/forms.py:103
msgid "OIDC Provider URL" msgid "OIDC Provider URL"
msgstr "URL do Provedor OIDC" msgstr "URL do Provedor OIDC"
#: gatekeeper/forms.py:104 #: gatekeeper/forms.py:178
msgid "OIDC Client ID" msgid "OIDC Client ID"
msgstr "ID do Cliente OIDC" msgstr "ID do Cliente OIDC"
#: gatekeeper/forms.py:105 #: gatekeeper/forms.py:179
msgid "OIDC Client Secret" msgid "OIDC Client Secret"
msgstr "Segredo do Cliente OIDC" msgstr "Segredo do Cliente OIDC"
#: gatekeeper/forms.py:157 #: gatekeeper/forms.py:230
msgid "TOTP secret must be empty for Local Password authentication." msgid "TOTP secret must be empty for Local Password authentication."
msgstr "O segredo TOTP deve estar vazio para autenticação por Senha Local." msgstr "O segredo TOTP deve estar vazio para autenticação por Senha Local."
#: gatekeeper/forms.py:159 #: gatekeeper/forms.py:232
msgid "TOTP validation PIN must be empty for Local Password authentication." msgid "TOTP validation PIN must be empty for Local Password authentication."
msgstr "" msgstr ""
"O PIN de validação TOTP deve estar vazio para autenticação por Senha Local." "O PIN de validação TOTP deve estar vazio para autenticação por Senha Local."
#: gatekeeper/forms.py:161 #: gatekeeper/forms.py:234
msgid "OIDC fields must be empty for Local Password authentication." msgid "OIDC fields must be empty for Local Password authentication."
msgstr "Os campos OIDC devem estar vazios para autenticação por Senha Local." msgstr "Os campos OIDC devem estar vazios para autenticação por Senha Local."
#: gatekeeper/forms.py:167 #: gatekeeper/forms.py:240
msgid "Only one Local Password authentication method can be configured." msgid "Only one Local Password authentication method can be configured."
msgstr "Apenas um método de autenticação por Senha Local pode ser configurado." msgstr "Apenas um método de autenticação por Senha Local pode ser configurado."
#: gatekeeper/forms.py:170 #: gatekeeper/forms.py:243
msgid "OIDC fields must be empty for TOTP authentication." msgid "OIDC fields must be empty for TOTP authentication."
msgstr "Os campos OIDC devem estar vazios para autenticação por TOTP." msgstr "Os campos OIDC devem estar vazios para autenticação por TOTP."
#: gatekeeper/forms.py:172 #: gatekeeper/forms.py:245
msgid "TOTP secret is required for TOTP authentication." msgid "TOTP secret is required for TOTP authentication."
msgstr "O segredo TOTP é obrigatório para autenticação por TOTP." msgstr "O segredo TOTP é obrigatório para autenticação por TOTP."
#: gatekeeper/forms.py:176 #: gatekeeper/forms.py:259
msgid "Please provide a PIN to validate the TOTP secret."
msgstr "Por favor, forneça um PIN para validar o segredo TOTP."
#: gatekeeper/forms.py:181
msgid "Invalid TOTP PIN."
msgstr "PIN TOTP inválido."
#: gatekeeper/forms.py:183
msgid "Invalid TOTP secret format. Must be a valid Base32 string."
msgstr "Formato de segredo TOTP inválido. Deve ser uma string Base32 válida."
#: gatekeeper/forms.py:186
msgid "TOTP secret must be empty for OIDC authentication." msgid "TOTP secret must be empty for OIDC authentication."
msgstr "O segredo TOTP deve estar vazio para autenticação por OIDC." msgstr "O segredo TOTP deve estar vazio para autenticação por OIDC."
#: gatekeeper/forms.py:188 #: gatekeeper/forms.py:261
msgid "TOTP validation PIN must be empty for OIDC authentication." msgid "TOTP validation PIN must be empty for OIDC authentication."
msgstr "O PIN de validação TOTP deve estar vazio para autenticação por OIDC." msgstr "O PIN de validação TOTP deve estar vazio para autenticação por OIDC."
#: gatekeeper/forms.py:197 gatekeeper/forms.py:239 gatekeeper/forms.py:270 #: gatekeeper/forms.py:270 gatekeeper/forms.py:312 gatekeeper/forms.py:343
msgid "Authentication Method" msgid "Authentication Method"
msgstr "Método de Autenticação" msgstr "Método de Autenticação"
#: gatekeeper/forms.py:199 templates/gatekeeper/gatekeeper_list.html:257 #: gatekeeper/forms.py:272 templates/gatekeeper/gatekeeper_list.html:273
msgid "Prefix Length" msgid "Prefix Length"
msgstr "Comprimento do Prefixo" msgstr "Comprimento do Prefixo"
#: gatekeeper/forms.py:200 templates/firewall/firewall_rule_list.html:47 #: gatekeeper/forms.py:273 templates/firewall/firewall_rule_list.html:47
#: templates/firewall/manage_firewall_rule.html:360 #: templates/firewall/manage_firewall_rule.html:360
#: templates/gatekeeper/gatekeeper_list.html:258 #: templates/gatekeeper/gatekeeper_list.html:274
msgid "Action" msgid "Action"
msgstr "Ação" msgstr "Ação"
#: gatekeeper/forms.py:240 templates/gatekeeper/gatekeeper_list.html:221 #: gatekeeper/forms.py:313 templates/gatekeeper/gatekeeper_list.html:237
msgid "Domain" msgid "Domain"
msgstr "Domínio" msgstr "Domínio"
@@ -1398,15 +1459,15 @@ msgstr "Lista de Endereços IP"
msgid "Shared/global TOTP secret key" msgid "Shared/global TOTP secret key"
msgstr "Chave secreta TOTP compartilhada/global" msgstr "Chave secreta TOTP compartilhada/global"
#: gatekeeper/models.py:69 #: gatekeeper/models.py:68
msgid "Password for local authentication (leave blank if not using)" msgid "Password for local authentication (leave blank if not using)"
msgstr "Senha para autenticação local (deixe em branco se não estiver usando)" msgstr "Senha para autenticação local (deixe em branco se não estiver usando)"
#: gatekeeper/models.py:71 #: gatekeeper/models.py:69
msgid "Per-user TOTP secret key" msgid "Per-user TOTP secret key"
msgstr "Chave secreta TOTP por usuário" msgstr "Chave secreta TOTP por usuário"
#: gatekeeper/models.py:110 templates/gatekeeper/gatekeeper_list.html:270 #: gatekeeper/models.py:108 templates/gatekeeper/gatekeeper_list.html:286
msgid "Allow" msgid "Allow"
msgstr "Permitir" msgstr "Permitir"
@@ -1422,57 +1483,102 @@ msgstr "Criar Usuário Gatekeeper"
msgid "Gatekeeper User saved successfully." msgid "Gatekeeper User saved successfully."
msgstr "Usuário Gatekeeper salvo com sucesso." msgstr "Usuário Gatekeeper salvo com sucesso."
#: gatekeeper/views.py:86 #: gatekeeper/views.py:69
msgid ""
"\n"
" <h4>Gatekeeper User</h4>\n"
" <p>Gatekeeper users are used for authenticating against protected "
"applications managed by this gateway.</p>\n"
"\n"
" <h5>Password</h5>\n"
" <p>Required when creating a user. When editing, leave both password "
"fields blank to keep the current password.\n"
" Passwords are stored using <strong>Argon2id</strong> hashing.</p>\n"
"\n"
" <h5>TOTP Secret</h5>\n"
" <p>Optional per-user TOTP secret. When set, this user will "
"authenticate using their own secret instead of the\n"
" global TOTP secret configured on the Authentication Method. Use the "
"buttons below the field to generate a\n"
" random secret and scan the QR code with your authenticator app. "
"Validate the secret by entering the current\n"
" 6-digit PIN before saving.</p>\n"
" "
msgstr ""
#: gatekeeper/views.py:106
msgid "Gatekeeper User deleted successfully." msgid "Gatekeeper User deleted successfully."
msgstr "Usuário Gatekeeper excluído com sucesso." msgstr "Usuário Gatekeeper excluído com sucesso."
#: gatekeeper/views.py:91 #: gatekeeper/views.py:111
msgid "Delete Gatekeeper User" msgid "Delete Gatekeeper User"
msgstr "Excluir Usuário Gatekeeper" msgstr "Excluir Usuário Gatekeeper"
#: gatekeeper/views.py:93 #: gatekeeper/views.py:113
#, python-format #, python-format
msgid "Are you sure you want to delete the user \"%(username)s\"?" msgid "Are you sure you want to delete the user \"%(username)s\"?"
msgstr "Tem certeza de que deseja excluir o usuário \"%(username)s\"?" msgstr "Tem certeza de que deseja excluir o usuário \"%(username)s\"?"
#: gatekeeper/views.py:107 #: gatekeeper/views.py:127
msgid "Edit Gatekeeper Group" msgid "Edit Gatekeeper Group"
msgstr "Editar Grupo Gatekeeper" msgstr "Editar Grupo Gatekeeper"
#: gatekeeper/views.py:110 #: gatekeeper/views.py:130
msgid "Create Gatekeeper Group" msgid "Create Gatekeeper Group"
msgstr "Criar Grupo Gatekeeper" msgstr "Criar Grupo Gatekeeper"
#: gatekeeper/views.py:117 #: gatekeeper/views.py:137
msgid "Gatekeeper Group saved successfully." msgid "Gatekeeper Group saved successfully."
msgstr "Grupo Gatekeeper salvo com sucesso." msgstr "Grupo Gatekeeper salvo com sucesso."
#: gatekeeper/views.py:139 #: gatekeeper/views.py:159
msgid "Gatekeeper Group deleted successfully." msgid "Gatekeeper Group deleted successfully."
msgstr "Grupo Gatekeeper excluído com sucesso." msgstr "Grupo Gatekeeper excluído com sucesso."
#: gatekeeper/views.py:144 #: gatekeeper/views.py:164
msgid "Delete Gatekeeper Group" msgid "Delete Gatekeeper Group"
msgstr "Excluir Grupo Gatekeeper" msgstr "Excluir Grupo Gatekeeper"
#: gatekeeper/views.py:146 #: gatekeeper/views.py:166
#, python-format #, python-format
msgid "Are you sure you want to delete the group \"%(name)s\"?" msgid "Are you sure you want to delete the group \"%(name)s\"?"
msgstr "Tem certeza de que deseja excluir o grupo \"%(name)s\"?" msgstr "Tem certeza de que deseja excluir o grupo \"%(name)s\"?"
#: gatekeeper/views.py:160 #: gatekeeper/views.py:180
msgid "Edit Authentication Method" msgid "Edit Authentication Method"
msgstr "Editar Método de Autenticação" msgstr "Editar Método de Autenticação"
#: gatekeeper/views.py:163 #: gatekeeper/views.py:183
msgid "Create Authentication Method" msgid "Create Authentication Method"
msgstr "Criar Método de Autenticação" msgstr "Criar Método de Autenticação"
#: gatekeeper/views.py:170 #: gatekeeper/views.py:190
msgid "Authentication Method saved successfully." msgid "Authentication Method saved successfully."
msgstr "Método de Autenticação salvo com sucesso." msgstr "Método de Autenticação salvo com sucesso."
#: gatekeeper/views.py:175 #: gatekeeper/views.py:195
#, fuzzy
#| msgid ""
#| "\n"
#| " <h4>Authentication Types</h4>\n"
#| " <p>Select how users will authenticate through this method.</p>\n"
#| " \n"
#| " <h5>Local Password</h5>\n"
#| " <p>Users will authenticate using a standard username and password "
#| "stored locally. Only one of this type can be created.</p>\n"
#| " \n"
#| " <h5>OIDC (OpenID Connect)</h5>\n"
#| " <p>Users will authenticate via an external identity provider "
#| "(like Keycloak, Google, or Authelia). Requires Provider URL, Client ID, "
#| "and Client Secret.</p>\n"
#| " \n"
#| " <h5>TOTP (Time-Based One-Time Password)</h5>\n"
#| " <p>Users will need to enter a rotating token from an "
#| "authenticator app. Requires setting a Global TOTP Secret. <br>If "
#| "<strong>Global TOTP Before Authentication</strong> is enabled, the PIN is "
#| "required before the username and password to help combat bruteforce "
#| "attacks.</p>\n"
#| " "
msgid "" msgid ""
"\n" "\n"
" <h4>Authentication Types</h4>\n" " <h4>Authentication Types</h4>\n"
@@ -1489,9 +1595,8 @@ msgid ""
" \n" " \n"
" <h5>TOTP (Time-Based One-Time Password)</h5>\n" " <h5>TOTP (Time-Based One-Time Password)</h5>\n"
" <p>Users will need to enter a rotating token from an authenticator " " <p>Users will need to enter a rotating token from an authenticator "
"app. Requires setting a Global TOTP Secret. <br>If <strong>Global TOTP " "app. If a user does not have a personal TOTP configured, the <strong>Global "
"Before Authentication</strong> is enabled, the PIN is required before the " "TOTP Secret</strong> will be used instead. </p>\n"
"username and password to help combat bruteforce attacks.</p>\n"
" " " "
msgstr "" msgstr ""
"\n" "\n"
@@ -1516,84 +1621,84 @@ msgstr ""
"força bruta.</p>\n" "força bruta.</p>\n"
" " " "
#: gatekeeper/views.py:210 #: gatekeeper/views.py:230
msgid "Authentication Method deleted successfully." msgid "Authentication Method deleted successfully."
msgstr "Método de Autenticação excluído com sucesso." msgstr "Método de Autenticação excluído com sucesso."
#: gatekeeper/views.py:215 #: gatekeeper/views.py:235
msgid "Delete Authentication Method" msgid "Delete Authentication Method"
msgstr "Excluir Método de Autenticação" msgstr "Excluir Método de Autenticação"
#: gatekeeper/views.py:217 #: gatekeeper/views.py:237
#, python-format #, python-format
msgid "Are you sure you want to delete the authentication method \"%(name)s\"?" msgid "Are you sure you want to delete the authentication method \"%(name)s\"?"
msgstr "" msgstr ""
"Tem certeza de que deseja excluir o método de autenticação \"%(name)s\"?" "Tem certeza de que deseja excluir o método de autenticação \"%(name)s\"?"
#: gatekeeper/views.py:267 #: gatekeeper/views.py:287
msgid "Edit Allowed Domain" msgid "Edit Allowed Domain"
msgstr "Editar Domínio Permitido" msgstr "Editar Domínio Permitido"
#: gatekeeper/views.py:270 templates/gatekeeper/gatekeeper_list.html:186 #: gatekeeper/views.py:290 templates/gatekeeper/gatekeeper_list.html:202
msgid "Add Allowed Domain" msgid "Add Allowed Domain"
msgstr "Adicionar Domínio Permitido" msgstr "Adicionar Domínio Permitido"
#: gatekeeper/views.py:277 #: gatekeeper/views.py:297
msgid "Allowed Domain saved successfully." msgid "Allowed Domain saved successfully."
msgstr "Domínio Permitido salvo com sucesso." msgstr "Domínio Permitido salvo com sucesso."
#: gatekeeper/views.py:299 #: gatekeeper/views.py:319
msgid "Allowed Domain deleted successfully." msgid "Allowed Domain deleted successfully."
msgstr "Domínio Permitido excluído com sucesso." msgstr "Domínio Permitido excluído com sucesso."
#: gatekeeper/views.py:304 #: gatekeeper/views.py:324
msgid "Delete Allowed Domain" msgid "Delete Allowed Domain"
msgstr "Excluir Domínio Permitido" msgstr "Excluir Domínio Permitido"
#: gatekeeper/views.py:306 #: gatekeeper/views.py:326
#, python-format #, python-format
msgid "Are you sure you want to delete the allowed domain \"%(domain)s\"?" msgid "Are you sure you want to delete the allowed domain \"%(domain)s\"?"
msgstr "Tem certeza de que deseja excluir o domínio permitido \"%(domain)s\"?" msgstr "Tem certeza de que deseja excluir o domínio permitido \"%(domain)s\"?"
#: gatekeeper/views.py:320 #: gatekeeper/views.py:340
msgid "Edit Allowed Email" msgid "Edit Allowed Email"
msgstr "Editar E-mail Permitido" msgstr "Editar E-mail Permitido"
#: gatekeeper/views.py:323 templates/gatekeeper/gatekeeper_list.html:183 #: gatekeeper/views.py:343 templates/gatekeeper/gatekeeper_list.html:199
msgid "Add Allowed Email" msgid "Add Allowed Email"
msgstr "Adicionar E-mail Permitido" msgstr "Adicionar E-mail Permitido"
#: gatekeeper/views.py:330 #: gatekeeper/views.py:350
msgid "Allowed Email saved successfully." msgid "Allowed Email saved successfully."
msgstr "E-mail Permitido salvo com sucesso." msgstr "E-mail Permitido salvo com sucesso."
#: gatekeeper/views.py:352 #: gatekeeper/views.py:372
msgid "Allowed Email deleted successfully." msgid "Allowed Email deleted successfully."
msgstr "E-mail Permitido excluído com sucesso." msgstr "E-mail Permitido excluído com sucesso."
#: gatekeeper/views.py:357 #: gatekeeper/views.py:377
msgid "Delete Allowed Email" msgid "Delete Allowed Email"
msgstr "Excluir E-mail Permitido" msgstr "Excluir E-mail Permitido"
#: gatekeeper/views.py:359 #: gatekeeper/views.py:379
#, python-format #, python-format
msgid "Are you sure you want to delete the allowed email \"%(email)s\"?" msgid "Are you sure you want to delete the allowed email \"%(email)s\"?"
msgstr "Tem certeza de que deseja excluir o e-mail permitido \"%(email)s\"?" msgstr "Tem certeza de que deseja excluir o e-mail permitido \"%(email)s\"?"
#: gatekeeper/views.py:373 #: gatekeeper/views.py:393
msgid "Edit IP Address" msgid "Edit IP Address"
msgstr "Editar Endereço IP" msgstr "Editar Endereço IP"
#: gatekeeper/views.py:376 templates/gatekeeper/gatekeeper_list.html:247 #: gatekeeper/views.py:396 templates/gatekeeper/gatekeeper_list.html:263
#: templates/wireguard/wireguard_manage_peer.html:171 #: templates/wireguard/wireguard_manage_peer.html:171
msgid "Add IP Address" msgid "Add IP Address"
msgstr "Adicionar IP" msgstr "Adicionar IP"
#: gatekeeper/views.py:383 #: gatekeeper/views.py:403
msgid "IP Address saved successfully." msgid "IP Address saved successfully."
msgstr "Endereço IP salvo com sucesso." msgstr "Endereço IP salvo com sucesso."
#: gatekeeper/views.py:388 #: gatekeeper/views.py:408
msgid "" msgid ""
"\n" "\n"
" <h5>IP Address List</h5>\n" " <h5>IP Address List</h5>\n"
@@ -1640,15 +1745,15 @@ msgstr ""
"\"Rede do Escritório\", \"Atacante Bloqueado\").</p>\n" "\"Rede do Escritório\", \"Atacante Bloqueado\").</p>\n"
" " " "
#: gatekeeper/views.py:424 #: gatekeeper/views.py:444
msgid "IP Address deleted successfully." msgid "IP Address deleted successfully."
msgstr "Endereço IP excluído com sucesso." msgstr "Endereço IP excluído com sucesso."
#: gatekeeper/views.py:429 #: gatekeeper/views.py:449
msgid "Delete IP Address" msgid "Delete IP Address"
msgstr "Excluir Endereço IP" msgstr "Excluir Endereço IP"
#: gatekeeper/views.py:431 #: gatekeeper/views.py:451
#, python-format #, python-format
msgid "Are you sure you want to delete the IP address \"%(address)s\"?" msgid "Are you sure you want to delete the IP address \"%(address)s\"?"
msgstr "Tem certeza de que deseja excluir o endereço IP \"%(address)s\"?" msgstr "Tem certeza de que deseja excluir o endereço IP \"%(address)s\"?"
@@ -2016,8 +2121,8 @@ msgid "In"
msgstr "Entrada" msgstr "Entrada"
#: templates/api_v2/api_documentation.html:49 #: templates/api_v2/api_documentation.html:49
#: templates/gatekeeper/gatekeeper_list.html:150 #: templates/gatekeeper/gatekeeper_list.html:166
#: templates/gatekeeper/gatekeeper_list.html:195 #: templates/gatekeeper/gatekeeper_list.html:211
#: templates/wireguard/apply_route_template.html:27 #: templates/wireguard/apply_route_template.html:27
msgid "Type" msgid "Type"
msgstr "Tipo" msgstr "Tipo"
@@ -2027,11 +2132,13 @@ msgid "Required"
msgstr "Obrigatório" msgstr "Obrigatório"
#: templates/api_v2/api_documentation.html:62 #: templates/api_v2/api_documentation.html:62
#: templates/gatekeeper/gatekeeper_list.html:75
#: templates/scheduler/scheduleprofile_form.html:175 #: templates/scheduler/scheduleprofile_form.html:175
msgid "Yes" msgid "Yes"
msgstr "Sim" msgstr "Sim"
#: templates/api_v2/api_documentation.html:64 #: templates/api_v2/api_documentation.html:64
#: templates/gatekeeper/gatekeeper_list.html:77
#: templates/scheduler/scheduleprofile_form.html:177 #: templates/scheduler/scheduleprofile_form.html:177
msgid "No" msgid "No"
msgstr "Não" msgstr "Não"
@@ -2076,12 +2183,12 @@ msgstr "Desabilitado"
#: templates/app_gateway/application_details.html:121 #: templates/app_gateway/application_details.html:121
#: templates/cluster/workers_list.html:77 #: templates/cluster/workers_list.html:77
#: templates/dns/static_host_list.html:74 #: templates/dns/static_host_list.html:74
#: templates/gatekeeper/gatekeeper_list.html:73 #: templates/gatekeeper/gatekeeper_list.html:89
#: templates/gatekeeper/gatekeeper_list.html:116 #: templates/gatekeeper/gatekeeper_list.html:132
#: templates/gatekeeper/gatekeeper_list.html:161 #: templates/gatekeeper/gatekeeper_list.html:177
#: templates/gatekeeper/gatekeeper_list.html:209 #: templates/gatekeeper/gatekeeper_list.html:225
#: templates/gatekeeper/gatekeeper_list.html:226 #: templates/gatekeeper/gatekeeper_list.html:242
#: templates/gatekeeper/gatekeeper_list.html:278 #: templates/gatekeeper/gatekeeper_list.html:294
#: templates/routing_templates/list.html:29 #: templates/routing_templates/list.html:29
#: templates/scheduler/scheduleprofile_form.html:123 #: templates/scheduler/scheduleprofile_form.html:123
#: templates/scheduler/scheduleprofile_list.html:25 #: templates/scheduler/scheduleprofile_list.html:25
@@ -2163,6 +2270,7 @@ msgstr "Adicionar Política de Acesso"
#: templates/app_gateway/app_gateway_list.html:140 #: templates/app_gateway/app_gateway_list.html:140
#: templates/gatekeeper/gatekeeper_list.html:43 #: templates/gatekeeper/gatekeeper_list.html:43
#: templates/gatekeeper/gatekeeper_list.html:64
msgid "Groups" msgid "Groups"
msgstr "Grupos" msgstr "Grupos"
@@ -2173,10 +2281,10 @@ msgstr "Métodos de Autenticação"
#: templates/app_gateway/app_gateway_list.html:142 #: templates/app_gateway/app_gateway_list.html:142
#: templates/app_gateway/application_details.html:62 #: templates/app_gateway/application_details.html:62
#: templates/app_gateway/application_details.html:109 #: templates/app_gateway/application_details.html:109
#: templates/gatekeeper/gatekeeper_list.html:63 #: templates/gatekeeper/gatekeeper_list.html:65
#: templates/gatekeeper/gatekeeper_list.html:106 #: templates/gatekeeper/gatekeeper_list.html:122
#: templates/gatekeeper/gatekeeper_list.html:151 #: templates/gatekeeper/gatekeeper_list.html:167
#: templates/gatekeeper/gatekeeper_list.html:198 #: templates/gatekeeper/gatekeeper_list.html:214
#: templates/scheduler/scheduleprofile_form.html:111 #: templates/scheduler/scheduleprofile_form.html:111
#: templates/scheduler/scheduleprofile_list.html:15 #: templates/scheduler/scheduleprofile_list.html:15
#: templates/wireguard/apply_route_template.html:28 #: templates/wireguard/apply_route_template.html:28
@@ -2734,10 +2842,19 @@ msgid "Create Port forwarding Rule"
msgstr "Criar Regra de Encaminhamento de Porta" msgstr "Criar Regra de Encaminhamento de Porta"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:63 #: templates/gatekeeper/gatekeeper_auth_method_form.html:63
#: templates/gatekeeper/gatekeeper_user_form.html:43
msgid "View QR Code" msgid "View QR Code"
msgstr "Ver Código QR" msgstr "Ver Código QR"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:74 #: templates/gatekeeper/gatekeeper_auth_method_form.html:64
#: templates/gatekeeper/gatekeeper_user_form.html:44
#, fuzzy
#| msgid "Global TOTP Secret"
msgid "Generate TOTP Secret"
msgstr "Segredo TOTP Global"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:93
#: templates/gatekeeper/gatekeeper_user_form.html:73
msgid "Please enter a TOTP Secret first to generate the QR code." msgid "Please enter a TOTP Secret first to generate the QR code."
msgstr "Por favor, insira um Segredo TOTP primeiro para gerar o código QR." msgstr "Por favor, insira um Segredo TOTP primeiro para gerar o código QR."
@@ -2763,44 +2880,48 @@ msgstr "Usuários"
msgid "Add User" msgid "Add User"
msgstr "Adicionar Usuário" msgstr "Adicionar Usuário"
#: templates/gatekeeper/gatekeeper_list.html:88 #: templates/gatekeeper/gatekeeper_list.html:63
msgid "TOTP"
msgstr ""
#: templates/gatekeeper/gatekeeper_list.html:104
msgid "No Gatekeeper Users found." msgid "No Gatekeeper Users found."
msgstr "Nenhum Usuário Gatekeeper encontrado." msgstr "Nenhum Usuário Gatekeeper encontrado."
#: templates/gatekeeper/gatekeeper_list.html:95 #: templates/gatekeeper/gatekeeper_list.html:111
msgid "Add Group" msgid "Add Group"
msgstr "Adicionar Grupo" msgstr "Adicionar Grupo"
#: templates/gatekeeper/gatekeeper_list.html:131 #: templates/gatekeeper/gatekeeper_list.html:147
msgid "No Gatekeeper Groups found." msgid "No Gatekeeper Groups found."
msgstr "Nenhum Grupo Gatekeeper encontrado." msgstr "Nenhum Grupo Gatekeeper encontrado."
#: templates/gatekeeper/gatekeeper_list.html:140 #: templates/gatekeeper/gatekeeper_list.html:156
msgid "Add Auth Method" msgid "Add Auth Method"
msgstr "Adicionar Método de Autenticação" msgstr "Adicionar Método de Autenticação"
#: templates/gatekeeper/gatekeeper_list.html:176 #: templates/gatekeeper/gatekeeper_list.html:192
msgid "No Authentication Methods found." msgid "No Authentication Methods found."
msgstr "Nenhum Método de Autenticação encontrado." msgstr "Nenhum Método de Autenticação encontrado."
#: templates/gatekeeper/gatekeeper_list.html:196 #: templates/gatekeeper/gatekeeper_list.html:212
msgid "Identity" msgid "Identity"
msgstr "Identidade" msgstr "Identidade"
#: templates/gatekeeper/gatekeeper_list.html:197 #: templates/gatekeeper/gatekeeper_list.html:213
#: templates/gatekeeper/gatekeeper_list.html:259 #: templates/gatekeeper/gatekeeper_list.html:275
msgid "Auth Method" msgid "Auth Method"
msgstr "Método de Autenticação" msgstr "Método de Autenticação"
#: templates/gatekeeper/gatekeeper_list.html:241 #: templates/gatekeeper/gatekeeper_list.html:257
msgid "No Allowed Emails or Domains found." msgid "No Allowed Emails or Domains found."
msgstr "Nenhum E-mail ou Domínio Permitido encontrado." msgstr "Nenhum E-mail ou Domínio Permitido encontrado."
#: templates/gatekeeper/gatekeeper_list.html:260 #: templates/gatekeeper/gatekeeper_list.html:276
msgid "Manage" msgid "Manage"
msgstr "Gerenciar" msgstr "Gerenciar"
#: templates/gatekeeper/gatekeeper_list.html:293 #: templates/gatekeeper/gatekeeper_list.html:309
msgid "No IP Addresses found." msgid "No IP Addresses found."
msgstr "Nenhum Endereço IP encontrado." msgstr "Nenhum Endereço IP encontrado."
@@ -3638,10 +3759,6 @@ msgstr "Confirmação de senha é obrigatória para novos usuários."
msgid "The two password fields didn't match." msgid "The two password fields didn't match."
msgstr "As duas senhas não coincidem." msgstr "As duas senhas não coincidem."
#: user_manager/forms.py:127
msgid "Password must be at least 8 characters long."
msgstr "Senha deve ter pelo menos 8 caracteres."
#: user_manager/forms.py:220 #: user_manager/forms.py:220
msgid "A peer group with that name already exists." msgid "A peer group with that name already exists."
msgstr "Um grupo de peers com esse nome já existe." msgstr "Um grupo de peers com esse nome já existe."
@@ -4410,3 +4527,6 @@ msgid "No interfaces found|No WireGuard interfaces were found to process."
msgstr "" msgstr ""
"Nenhuma interface encontrada|Nenhuma interface WireGuard foi encontrada para " "Nenhuma interface encontrada|Nenhuma interface WireGuard foi encontrada para "
"processar." "processar."
#~ msgid "Global TOTP Before Authentication"
#~ msgstr "TOTP Global Antes da Autenticação"

Binary file not shown.

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-14 11:54-0300\n" "POT-Creation-Date: 2026-03-15 17:20-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -39,12 +39,12 @@ msgstr "Späť"
#: templates/app_gateway/application_details.html:125 #: templates/app_gateway/application_details.html:125
#: templates/firewall/manage_firewall_rule.html:382 #: templates/firewall/manage_firewall_rule.html:382
#: templates/firewall/manage_redirect_rule.html:86 #: templates/firewall/manage_redirect_rule.html:86
#: templates/gatekeeper/gatekeeper_list.html:77 #: templates/gatekeeper/gatekeeper_list.html:93
#: templates/gatekeeper/gatekeeper_list.html:120 #: templates/gatekeeper/gatekeeper_list.html:136
#: templates/gatekeeper/gatekeeper_list.html:165 #: templates/gatekeeper/gatekeeper_list.html:181
#: templates/gatekeeper/gatekeeper_list.html:213 #: templates/gatekeeper/gatekeeper_list.html:229
#: templates/gatekeeper/gatekeeper_list.html:230 #: templates/gatekeeper/gatekeeper_list.html:246
#: templates/gatekeeper/gatekeeper_list.html:282 #: templates/gatekeeper/gatekeeper_list.html:298
#: templates/scheduler/scheduleprofile_form.html:127 #: templates/scheduler/scheduleprofile_form.html:127
#: templates/scheduler/scheduleprofile_list.html:29 #: templates/scheduler/scheduleprofile_list.html:29
#: templates/wireguard/peer_list/peer_preview_modal.html:109 #: templates/wireguard/peer_list/peer_preview_modal.html:109
@@ -65,11 +65,11 @@ msgstr ""
"Naozaj chcete regenerovať token? Starý token okamžite prestane fungovať." "Naozaj chcete regenerovať token? Starý token okamžite prestane fungovať."
#: api_v2/forms.py:63 app_gateway/forms.py:40 app_gateway/forms.py:92 #: api_v2/forms.py:63 app_gateway/forms.py:40 app_gateway/forms.py:92
#: app_gateway/forms.py:136 app_gateway/forms.py:154 app_gateway/forms.py:226 #: app_gateway/forms.py:136 app_gateway/forms.py:154 app_gateway/forms.py:237
#: app_gateway/forms.py:267 cluster/forms.py:67 cluster/forms.py:124 #: app_gateway/forms.py:278 cluster/forms.py:67 cluster/forms.py:124
#: dns/forms.py:37 dns/forms.py:84 dns/forms.py:153 gatekeeper/forms.py:41 #: dns/forms.py:37 dns/forms.py:84 dns/forms.py:153 gatekeeper/forms.py:70
#: gatekeeper/forms.py:75 gatekeeper/forms.py:139 gatekeeper/forms.py:226 #: gatekeeper/forms.py:150 gatekeeper/forms.py:212 gatekeeper/forms.py:299
#: gatekeeper/forms.py:256 gatekeeper/forms.py:287 #: gatekeeper/forms.py:329 gatekeeper/forms.py:360
#: routing_templates/forms.py:71 scheduler/forms.py:102 #: routing_templates/forms.py:71 scheduler/forms.py:102
#: templates/firewall/manage_firewall_rule.html:379 #: templates/firewall/manage_firewall_rule.html:379
#: templates/firewall/manage_firewall_settings.html:59 #: templates/firewall/manage_firewall_settings.html:59
@@ -83,13 +83,13 @@ msgid "Save"
msgstr "Uložiť" msgstr "Uložiť"
#: api_v2/models.py:10 app_gateway/forms.py:18 app_gateway/forms.py:106 #: api_v2/models.py:10 app_gateway/forms.py:18 app_gateway/forms.py:106
#: cluster/forms.py:18 dns/forms.py:130 gatekeeper/forms.py:99 #: cluster/forms.py:18 dns/forms.py:130 gatekeeper/forms.py:174
#: routing_templates/forms.py:28 templates/api_v2/api_documentation.html:47 #: routing_templates/forms.py:28 templates/api_v2/api_documentation.html:47
#: templates/api_v2/list.html:8 templates/app_gateway/app_gateway_list.html:58 #: templates/api_v2/list.html:8 templates/app_gateway/app_gateway_list.html:58
#: templates/app_gateway/app_gateway_list.html:138 #: templates/app_gateway/app_gateway_list.html:138
#: templates/app_gateway/application_details.html:26 #: templates/app_gateway/application_details.html:26
#: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 #: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68
#: templates/gatekeeper/gatekeeper_list.html:149 #: templates/gatekeeper/gatekeeper_list.html:165
#: templates/routing_templates/list.html:8 #: templates/routing_templates/list.html:8
#: templates/scheduler/scheduleprofile_list.html:13 #: templates/scheduler/scheduleprofile_list.html:13
#: templates/user_manager/peer_group_list.html:8 #: templates/user_manager/peer_group_list.html:8
@@ -133,10 +133,10 @@ msgstr "Povolené"
#: app_gateway/views.py:293 app_gateway/views.py:328 app_gateway/views.py:354 #: app_gateway/views.py:293 app_gateway/views.py:328 app_gateway/views.py:354
#: app_gateway/views.py:404 app_gateway/views.py:432 cluster/views.py:18 #: app_gateway/views.py:404 app_gateway/views.py:432 cluster/views.py:18
#: cluster/views.py:45 cluster/views.py:114 gatekeeper/views.py:23 #: cluster/views.py:45 cluster/views.py:114 gatekeeper/views.py:23
#: gatekeeper/views.py:48 gatekeeper/views.py:78 gatekeeper/views.py:101 #: gatekeeper/views.py:48 gatekeeper/views.py:98 gatekeeper/views.py:121
#: gatekeeper/views.py:131 gatekeeper/views.py:154 gatekeeper/views.py:202 #: gatekeeper/views.py:151 gatekeeper/views.py:174 gatekeeper/views.py:222
#: gatekeeper/views.py:261 gatekeeper/views.py:291 gatekeeper/views.py:314 #: gatekeeper/views.py:281 gatekeeper/views.py:311 gatekeeper/views.py:334
#: gatekeeper/views.py:344 gatekeeper/views.py:367 gatekeeper/views.py:416 #: gatekeeper/views.py:364 gatekeeper/views.py:387 gatekeeper/views.py:436
#: templates/access_denied.html:9 #: templates/access_denied.html:9
msgid "Access Denied" msgid "Access Denied"
msgstr "Prístup zamietnutý" msgstr "Prístup zamietnutý"
@@ -217,9 +217,9 @@ msgid "Upstream"
msgstr "Upstream" msgstr "Upstream"
#: app_gateway/forms.py:41 app_gateway/forms.py:93 app_gateway/forms.py:137 #: app_gateway/forms.py:41 app_gateway/forms.py:93 app_gateway/forms.py:137
#: app_gateway/forms.py:155 app_gateway/forms.py:227 app_gateway/forms.py:268 #: app_gateway/forms.py:155 app_gateway/forms.py:238 app_gateway/forms.py:279
#: gatekeeper/forms.py:42 gatekeeper/forms.py:76 gatekeeper/forms.py:140 #: gatekeeper/forms.py:71 gatekeeper/forms.py:151 gatekeeper/forms.py:213
#: gatekeeper/forms.py:227 gatekeeper/forms.py:257 gatekeeper/forms.py:288 #: gatekeeper/forms.py:300 gatekeeper/forms.py:330 gatekeeper/forms.py:361
#: scheduler/forms.py:103 #: scheduler/forms.py:103
#: templates/app_gateway/access_policy_type_select.html:50 #: templates/app_gateway/access_policy_type_select.html:50
#: templates/generic_delete_confirmation.html:19 #: templates/generic_delete_confirmation.html:19
@@ -264,17 +264,23 @@ msgstr "Povolené skupiny"
msgid "Authentication Methods" msgid "Authentication Methods"
msgstr "Metódy autentifikácie" msgstr "Metódy autentifikácie"
#: app_gateway/forms.py:185 #: app_gateway/forms.py:188
msgid "Cannot select more than one Local Password authentication method." msgid "Cannot select more than one Local Password authentication method."
msgstr "Nemožno vybrať viac ako jednu metódu autentifikácie lokálnym heslom." msgstr "Nemožno vybrať viac ako jednu metódu autentifikácie lokálnym heslom."
#: app_gateway/forms.py:189 #: app_gateway/forms.py:192
msgid "" msgid ""
"Cannot select more than one OpenID Connect (OIDC) authentication method." "Cannot select more than one OpenID Connect (OIDC) authentication method."
msgstr "" msgstr ""
"Nemožno vybrať viac ako jednu metódu autentifikácie OpenID Connect (OIDC)." "Nemožno vybrať viac ako jednu metódu autentifikácie OpenID Connect (OIDC)."
#: app_gateway/forms.py:193 #: app_gateway/forms.py:196
#, fuzzy
#| msgid "Cannot select more than one Local Password authentication method."
msgid "Cannot select more than one TOTP authentication method."
msgstr "Nemožno vybrať viac ako jednu metódu autentifikácie lokálnym heslom."
#: app_gateway/forms.py:200
msgid "" msgid ""
"Cannot select both Local Password and OpenID Connect (OIDC) authentication " "Cannot select both Local Password and OpenID Connect (OIDC) authentication "
"methods." "methods."
@@ -282,7 +288,19 @@ msgstr ""
"Nemožno vybrať súčasne metódy autentifikácie lokálnym heslom a OpenID " "Nemožno vybrať súčasne metódy autentifikácie lokálnym heslom a OpenID "
"Connect (OIDC)." "Connect (OIDC)."
#: app_gateway/forms.py:197 #: app_gateway/forms.py:204
#, fuzzy
#| msgid ""
#| "Cannot select both Local Password and OpenID Connect (OIDC) "
#| "authentication methods."
msgid ""
"TOTP must be combined with a Local Password or OpenID Connect authentication "
"method."
msgstr ""
"Nemožno vybrať súčasne metódy autentifikácie lokálnym heslom a OpenID "
"Connect (OIDC)."
#: app_gateway/forms.py:208
msgid "" msgid ""
"At least one user group must be selected when using Local Password " "At least one user group must be selected when using Local Password "
"authentication." "authentication."
@@ -290,30 +308,30 @@ msgstr ""
"Pri použití autentifikácie lokálnym heslom musí byť vybraná aspoň jedna " "Pri použití autentifikácie lokálnym heslom musí byť vybraná aspoň jedna "
"skupina používateľov." "skupina používateľov."
#: app_gateway/forms.py:201 #: app_gateway/forms.py:212
msgid "User groups can only be used with Local Password authentication." msgid "User groups can only be used with Local Password authentication."
msgstr "" msgstr ""
"Skupiny používateľov možno použiť len s autentifikáciou lokálnym heslom." "Skupiny používateľov možno použiť len s autentifikáciou lokálnym heslom."
#: app_gateway/forms.py:211 templates/app_gateway/app_gateway_list.html:62 #: app_gateway/forms.py:222 templates/app_gateway/app_gateway_list.html:62
#: templates/app_gateway/application_details.html:31 #: templates/app_gateway/application_details.html:31
#: templates/firewall/firewall_nav_tabs.html:15 #: templates/firewall/firewall_nav_tabs.html:15
msgid "Default Policy" msgid "Default Policy"
msgstr "Predvolená politika" msgstr "Predvolená politika"
#: app_gateway/forms.py:240 templates/app_gateway/application_details.html:105 #: app_gateway/forms.py:251 templates/app_gateway/application_details.html:105
msgid "Route Name" msgid "Route Name"
msgstr "Názov trasy" msgstr "Názov trasy"
#: app_gateway/forms.py:241 templates/app_gateway/application_details.html:106 #: app_gateway/forms.py:252 templates/app_gateway/application_details.html:106
msgid "Path Prefix" msgid "Path Prefix"
msgstr "Prefix cesty" msgstr "Prefix cesty"
#: app_gateway/forms.py:242 templates/app_gateway/application_details.html:107 #: app_gateway/forms.py:253 templates/app_gateway/application_details.html:107
msgid "Policy" msgid "Policy"
msgstr "Politika" msgstr "Politika"
#: app_gateway/forms.py:243 templates/app_gateway/application_details.html:108 #: app_gateway/forms.py:254 templates/app_gateway/application_details.html:108
msgid "Order" msgid "Order"
msgstr "Poradie" msgstr "Poradie"
@@ -331,9 +349,9 @@ msgstr "Verejné"
msgid "Protected" msgid "Protected"
msgstr "Chránené" msgstr "Chránené"
#: app_gateway/models.py:45 gatekeeper/models.py:110 #: app_gateway/models.py:45 gatekeeper/models.py:108
#: templates/app_gateway/access_policy_type_select.html:41 #: templates/app_gateway/access_policy_type_select.html:41
#: templates/gatekeeper/gatekeeper_list.html:272 #: templates/gatekeeper/gatekeeper_list.html:288
msgid "Deny" msgid "Deny"
msgstr "Odmietnuť" msgstr "Odmietnuť"
@@ -614,11 +632,11 @@ msgstr "Odstrániť trasu aplikácie"
msgid "Are you sure you want to delete the route \"%(name)s\" (%(path)s)?" msgid "Are you sure you want to delete the route \"%(name)s\" (%(path)s)?"
msgstr "Naozaj chcete odstrániť trasu \"%(name)s\" (%(path)s)?" msgstr "Naozaj chcete odstrániť trasu \"%(name)s\" (%(path)s)?"
#: app_gateway/views.py:444 #: app_gateway/views.py:443
msgid "Configuration exported successfully." msgid "Configuration exported successfully."
msgstr "Konfigurácia bola úspešne exportovaná." msgstr "Konfigurácia bola úspešne exportovaná."
#: app_gateway/views.py:446 #: app_gateway/views.py:445
msgid "" msgid ""
"Caddy is not active. Configuration files were exported for debugging " "Caddy is not active. Configuration files were exported for debugging "
"purposes." "purposes."
@@ -629,13 +647,13 @@ msgstr ""
msgid "IP Lock" msgid "IP Lock"
msgstr "IP zámok" msgstr "IP zámok"
#: cluster/forms.py:21 dns/forms.py:67 gatekeeper/forms.py:198 #: cluster/forms.py:21 dns/forms.py:67 gatekeeper/forms.py:271
#: templates/cluster/workers_list.html:10 #: templates/cluster/workers_list.html:10
#: templates/dns/static_host_list.html:18 #: templates/dns/static_host_list.html:18
#: templates/firewall/manage_redirect_rule.html:43 #: templates/firewall/manage_redirect_rule.html:43
#: templates/firewall/manage_redirect_rule.html:67 #: templates/firewall/manage_redirect_rule.html:67
#: templates/firewall/manage_redirect_rule.html:68 #: templates/firewall/manage_redirect_rule.html:68
#: templates/gatekeeper/gatekeeper_list.html:256 #: templates/gatekeeper/gatekeeper_list.html:272
#: templates/wireguard/wireguard_status.html:45 #: templates/wireguard/wireguard_status.html:45
msgid "IP Address" msgid "IP Address"
msgstr "IP adresa" msgstr "IP adresa"
@@ -906,7 +924,7 @@ msgstr "Statický DNS"
msgid "Invalid hostname." msgid "Invalid hostname."
msgstr "Neplatný názov hostiteľa." msgstr "Neplatný názov hostiteľa."
#: dns/forms.py:131 firewall/forms.py:111 gatekeeper/forms.py:201 #: dns/forms.py:131 firewall/forms.py:111 gatekeeper/forms.py:274
#: templates/api_v2/api_documentation.html:51 #: templates/api_v2/api_documentation.html:51
#: templates/dns/static_host_list.html:69 #: templates/dns/static_host_list.html:69
#: templates/firewall/manage_redirect_rule.html:18 #: templates/firewall/manage_redirect_rule.html:18
@@ -1237,43 +1255,29 @@ msgstr "Spravovať nastavenia firewall"
msgid "Firewall settings saved successfully" msgid "Firewall settings saved successfully"
msgstr "Nastavenia firewall boli úspešne uložené" msgstr "Nastavenia firewall boli úspešne uložené"
#: gatekeeper/forms.py:17 templates/accounts/login.html:14 #: gatekeeper/forms.py:17 templates/accounts/login.html:23
#: templates/gatekeeper/gatekeeper_list.html:61
#: templates/user_manager/list.html:8 user_manager/forms.py:13
#: vpn_invite/forms.py:281
msgid "Username"
msgstr "Používateľské meno"
#: gatekeeper/forms.py:18 gatekeeper/forms.py:271
#: templates/gatekeeper/gatekeeper_list.html:62
#: templates/gatekeeper/gatekeeper_list.html:204
#: templates/wireguard/peer_list/peer_preview_modal.html:103
msgid "Email"
msgstr "E-mail"
#: gatekeeper/forms.py:19 templates/accounts/login.html:23
#: templates/vpn_invite/invite_settings.html:19 user_manager/forms.py:14 #: templates/vpn_invite/invite_settings.html:19 user_manager/forms.py:14
#: vpn_invite/forms.py:282 #: vpn_invite/forms.py:282
msgid "Password" msgid "Password"
msgstr "Heslo" msgstr "Heslo"
#: gatekeeper/forms.py:20 #: gatekeeper/forms.py:20
msgid "TOTP Secret" msgid ""
msgstr "TOTP tajomstvo" "Minimum 8 characters, with at least one uppercase letter, one lowercase "
"letter, and one number."
msgstr ""
#: gatekeeper/forms.py:55 templates/gatekeeper/gatekeeper_list.html:104 #: gatekeeper/forms.py:23
msgid "Group Name" #, fuzzy
msgstr "Názov skupiny" #| msgid "Random Password"
msgid "Confirm Password"
msgstr "Náhodné heslo"
#: gatekeeper/forms.py:56 templates/gatekeeper/gatekeeper_list.html:105 #: gatekeeper/forms.py:28 gatekeeper/forms.py:161
msgid "Members"
msgstr "Členovia"
#: gatekeeper/forms.py:86
msgid "TOTP Validation PIN" msgid "TOTP Validation PIN"
msgstr "Validačný PIN TOTP" msgstr "Validačný PIN TOTP"
#: gatekeeper/forms.py:89 #: gatekeeper/forms.py:31 gatekeeper/forms.py:164
msgid "" msgid ""
"Enter a 6-digit PIN generated by your authenticator app to validate the " "Enter a 6-digit PIN generated by your authenticator app to validate the "
"secret." "secret."
@@ -1281,91 +1285,147 @@ msgstr ""
"Zadajte 6-miestny PIN vygenerovaný vašou autentifikačnou aplikáciou na " "Zadajte 6-miestny PIN vygenerovaný vašou autentifikačnou aplikáciou na "
"overenie tajomstva." "overenie tajomstva."
#: gatekeeper/forms.py:100 #: gatekeeper/forms.py:38 templates/accounts/login.html:14
#: templates/gatekeeper/gatekeeper_list.html:61
#: templates/user_manager/list.html:8 user_manager/forms.py:13
#: vpn_invite/forms.py:281
msgid "Username"
msgstr "Používateľské meno"
#: gatekeeper/forms.py:39 gatekeeper/forms.py:344
#: templates/gatekeeper/gatekeeper_list.html:62
#: templates/gatekeeper/gatekeeper_list.html:220
#: templates/wireguard/peer_list/peer_preview_modal.html:103
msgid "Email"
msgstr "E-mail"
#: gatekeeper/forms.py:40
msgid "TOTP Secret"
msgstr "TOTP tajomstvo"
#: gatekeeper/forms.py:87
#, fuzzy
#| msgid "Port is required."
msgid "Password is required."
msgstr "Port je povinný."
#: gatekeeper/forms.py:90 user_manager/forms.py:127
msgid "Password must be at least 8 characters long."
msgstr "Heslo musí mať aspoň 8 znakov."
#: gatekeeper/forms.py:92
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one lowercase letter."
msgstr "Heslo musí mať aspoň 8 znakov."
#: gatekeeper/forms.py:94
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one uppercase letter."
msgstr "Heslo musí mať aspoň 8 znakov."
#: gatekeeper/forms.py:96
#, fuzzy
#| msgid "Password must be at least 8 characters long."
msgid "Password must contain at least one number."
msgstr "Heslo musí mať aspoň 8 znakov."
#: gatekeeper/forms.py:98
#, fuzzy
#| msgid "Password Confirmation"
msgid "Passwords do not match."
msgstr "Potvrdenie hesla"
#: gatekeeper/forms.py:103 gatekeeper/forms.py:249
msgid "Please provide a PIN to validate the TOTP secret."
msgstr "Na overenie tajomstva TOTP zadajte PIN."
#: gatekeeper/forms.py:108 gatekeeper/forms.py:254
msgid "Invalid TOTP PIN."
msgstr "Neplatný PIN TOTP."
#: gatekeeper/forms.py:110 gatekeeper/forms.py:256
msgid "Invalid TOTP secret format. Must be a valid Base32 string."
msgstr "Neplatný formát tajomstva TOTP. Musí to byť platný reťazec Base32."
#: gatekeeper/forms.py:130 templates/gatekeeper/gatekeeper_list.html:120
msgid "Group Name"
msgstr "Názov skupiny"
#: gatekeeper/forms.py:131 templates/gatekeeper/gatekeeper_list.html:121
msgid "Members"
msgstr "Členovia"
#: gatekeeper/forms.py:175
msgid "Authentication Type" msgid "Authentication Type"
msgstr "Typ autentifikácie" msgstr "Typ autentifikácie"
#: gatekeeper/forms.py:101 #: gatekeeper/forms.py:176
msgid "Global TOTP Secret" msgid "Global TOTP Secret"
msgstr "Globálne TOTP tajomstvo" msgstr "Globálne TOTP tajomstvo"
#: gatekeeper/forms.py:102 #: gatekeeper/forms.py:177
msgid "Global TOTP Before Authentication"
msgstr "Globálne TOTP pred autentifikáciou"
#: gatekeeper/forms.py:103
msgid "OIDC Provider URL" msgid "OIDC Provider URL"
msgstr "URL poskytovateľa OIDC" msgstr "URL poskytovateľa OIDC"
#: gatekeeper/forms.py:104 #: gatekeeper/forms.py:178
msgid "OIDC Client ID" msgid "OIDC Client ID"
msgstr "ID klienta OIDC" msgstr "ID klienta OIDC"
#: gatekeeper/forms.py:105 #: gatekeeper/forms.py:179
msgid "OIDC Client Secret" msgid "OIDC Client Secret"
msgstr "Secret klienta OIDC" msgstr "Secret klienta OIDC"
#: gatekeeper/forms.py:157 #: gatekeeper/forms.py:230
msgid "TOTP secret must be empty for Local Password authentication." msgid "TOTP secret must be empty for Local Password authentication."
msgstr "TOTP tajomstvo musí byť prázdne pre autentifikáciu miestnym heslom." msgstr "TOTP tajomstvo musí byť prázdne pre autentifikáciu miestnym heslom."
#: gatekeeper/forms.py:159 #: gatekeeper/forms.py:232
msgid "TOTP validation PIN must be empty for Local Password authentication." msgid "TOTP validation PIN must be empty for Local Password authentication."
msgstr "" msgstr ""
"Validačný PIN TOTP musí byť prázdny pre autentifikáciu miestnym heslom." "Validačný PIN TOTP musí byť prázdny pre autentifikáciu miestnym heslom."
#: gatekeeper/forms.py:161 #: gatekeeper/forms.py:234
msgid "OIDC fields must be empty for Local Password authentication." msgid "OIDC fields must be empty for Local Password authentication."
msgstr "Polia OIDC musia byť prázdne pre autentifikáciu miestnym heslom." msgstr "Polia OIDC musia byť prázdne pre autentifikáciu miestnym heslom."
#: gatekeeper/forms.py:167 #: gatekeeper/forms.py:240
msgid "Only one Local Password authentication method can be configured." msgid "Only one Local Password authentication method can be configured."
msgstr "" msgstr ""
"Je možné nakonfigurovať iba jednu metódu autentifikácie miestnym heslom." "Je možné nakonfigurovať iba jednu metódu autentifikácie miestnym heslom."
#: gatekeeper/forms.py:170 #: gatekeeper/forms.py:243
msgid "OIDC fields must be empty for TOTP authentication." msgid "OIDC fields must be empty for TOTP authentication."
msgstr "Polia OIDC musia byť prázdne pre autentifikáciu TOTP." msgstr "Polia OIDC musia byť prázdne pre autentifikáciu TOTP."
#: gatekeeper/forms.py:172 #: gatekeeper/forms.py:245
msgid "TOTP secret is required for TOTP authentication." msgid "TOTP secret is required for TOTP authentication."
msgstr "TOTP tajomstvo je povinné pre autentifikáciu TOTP." msgstr "TOTP tajomstvo je povinné pre autentifikáciu TOTP."
#: gatekeeper/forms.py:176 #: gatekeeper/forms.py:259
msgid "Please provide a PIN to validate the TOTP secret."
msgstr "Na overenie tajomstva TOTP zadajte PIN."
#: gatekeeper/forms.py:181
msgid "Invalid TOTP PIN."
msgstr "Neplatný PIN TOTP."
#: gatekeeper/forms.py:183
msgid "Invalid TOTP secret format. Must be a valid Base32 string."
msgstr "Neplatný formát tajomstva TOTP. Musí to byť platný reťazec Base32."
#: gatekeeper/forms.py:186
msgid "TOTP secret must be empty for OIDC authentication." msgid "TOTP secret must be empty for OIDC authentication."
msgstr "TOTP tajomstvo musí byť prázdne pre autentifikáciu OIDC." msgstr "TOTP tajomstvo musí byť prázdne pre autentifikáciu OIDC."
#: gatekeeper/forms.py:188 #: gatekeeper/forms.py:261
msgid "TOTP validation PIN must be empty for OIDC authentication." msgid "TOTP validation PIN must be empty for OIDC authentication."
msgstr "Validačný PIN TOTP musí byť prázdny pre autentifikáciu OIDC." msgstr "Validačný PIN TOTP musí byť prázdny pre autentifikáciu OIDC."
#: gatekeeper/forms.py:197 gatekeeper/forms.py:239 gatekeeper/forms.py:270 #: gatekeeper/forms.py:270 gatekeeper/forms.py:312 gatekeeper/forms.py:343
msgid "Authentication Method" msgid "Authentication Method"
msgstr "Metóda autentifikácie" msgstr "Metóda autentifikácie"
#: gatekeeper/forms.py:199 templates/gatekeeper/gatekeeper_list.html:257 #: gatekeeper/forms.py:272 templates/gatekeeper/gatekeeper_list.html:273
msgid "Prefix Length" msgid "Prefix Length"
msgstr "Dĺžka prefixu" msgstr "Dĺžka prefixu"
#: gatekeeper/forms.py:200 templates/firewall/firewall_rule_list.html:47 #: gatekeeper/forms.py:273 templates/firewall/firewall_rule_list.html:47
#: templates/firewall/manage_firewall_rule.html:360 #: templates/firewall/manage_firewall_rule.html:360
#: templates/gatekeeper/gatekeeper_list.html:258 #: templates/gatekeeper/gatekeeper_list.html:274
msgid "Action" msgid "Action"
msgstr "Akcia" msgstr "Akcia"
#: gatekeeper/forms.py:240 templates/gatekeeper/gatekeeper_list.html:221 #: gatekeeper/forms.py:313 templates/gatekeeper/gatekeeper_list.html:237
msgid "Domain" msgid "Domain"
msgstr "Doména" msgstr "Doména"
@@ -1389,15 +1449,15 @@ msgstr "Zoznam IP adries"
msgid "Shared/global TOTP secret key" msgid "Shared/global TOTP secret key"
msgstr "Zdieľaný/globálny tajný kľúč TOTP" msgstr "Zdieľaný/globálny tajný kľúč TOTP"
#: gatekeeper/models.py:69 #: gatekeeper/models.py:68
msgid "Password for local authentication (leave blank if not using)" msgid "Password for local authentication (leave blank if not using)"
msgstr "Heslo pre miestnu autentifikáciu (ak nepoužívate, nechajte prázdne)" msgstr "Heslo pre miestnu autentifikáciu (ak nepoužívate, nechajte prázdne)"
#: gatekeeper/models.py:71 #: gatekeeper/models.py:69
msgid "Per-user TOTP secret key" msgid "Per-user TOTP secret key"
msgstr "Tajný kľúč TOTP pre jednotlivých používateľov" msgstr "Tajný kľúč TOTP pre jednotlivých používateľov"
#: gatekeeper/models.py:110 templates/gatekeeper/gatekeeper_list.html:270 #: gatekeeper/models.py:108 templates/gatekeeper/gatekeeper_list.html:286
msgid "Allow" msgid "Allow"
msgstr "Povoliť" msgstr "Povoliť"
@@ -1413,57 +1473,102 @@ msgstr "Vytvoriť používateľa Gatekeeper"
msgid "Gatekeeper User saved successfully." msgid "Gatekeeper User saved successfully."
msgstr "Používateľ Gatekeeper bol úspešne uložený." msgstr "Používateľ Gatekeeper bol úspešne uložený."
#: gatekeeper/views.py:86 #: gatekeeper/views.py:69
msgid ""
"\n"
" <h4>Gatekeeper User</h4>\n"
" <p>Gatekeeper users are used for authenticating against protected "
"applications managed by this gateway.</p>\n"
"\n"
" <h5>Password</h5>\n"
" <p>Required when creating a user. When editing, leave both password "
"fields blank to keep the current password.\n"
" Passwords are stored using <strong>Argon2id</strong> hashing.</p>\n"
"\n"
" <h5>TOTP Secret</h5>\n"
" <p>Optional per-user TOTP secret. When set, this user will "
"authenticate using their own secret instead of the\n"
" global TOTP secret configured on the Authentication Method. Use the "
"buttons below the field to generate a\n"
" random secret and scan the QR code with your authenticator app. "
"Validate the secret by entering the current\n"
" 6-digit PIN before saving.</p>\n"
" "
msgstr ""
#: gatekeeper/views.py:106
msgid "Gatekeeper User deleted successfully." msgid "Gatekeeper User deleted successfully."
msgstr "Používateľ Gatekeeper bol úspešne odstránený." msgstr "Používateľ Gatekeeper bol úspešne odstránený."
#: gatekeeper/views.py:91 #: gatekeeper/views.py:111
msgid "Delete Gatekeeper User" msgid "Delete Gatekeeper User"
msgstr "Odstrániť používateľa Gatekeeper" msgstr "Odstrániť používateľa Gatekeeper"
#: gatekeeper/views.py:93 #: gatekeeper/views.py:113
#, python-format #, python-format
msgid "Are you sure you want to delete the user \"%(username)s\"?" msgid "Are you sure you want to delete the user \"%(username)s\"?"
msgstr "Naozaj chcete odstrániť používateľa \"%(username)s\"?" msgstr "Naozaj chcete odstrániť používateľa \"%(username)s\"?"
#: gatekeeper/views.py:107 #: gatekeeper/views.py:127
msgid "Edit Gatekeeper Group" msgid "Edit Gatekeeper Group"
msgstr "Upraviť skupinu Gatekeeper" msgstr "Upraviť skupinu Gatekeeper"
#: gatekeeper/views.py:110 #: gatekeeper/views.py:130
msgid "Create Gatekeeper Group" msgid "Create Gatekeeper Group"
msgstr "Vytvoriť skupinu Gatekeeper" msgstr "Vytvoriť skupinu Gatekeeper"
#: gatekeeper/views.py:117 #: gatekeeper/views.py:137
msgid "Gatekeeper Group saved successfully." msgid "Gatekeeper Group saved successfully."
msgstr "Skupina Gatekeeper bola úspešne uložená." msgstr "Skupina Gatekeeper bola úspešne uložená."
#: gatekeeper/views.py:139 #: gatekeeper/views.py:159
msgid "Gatekeeper Group deleted successfully." msgid "Gatekeeper Group deleted successfully."
msgstr "Skupina Gatekeeper bola úspešne odstránená." msgstr "Skupina Gatekeeper bola úspešne odstránená."
#: gatekeeper/views.py:144 #: gatekeeper/views.py:164
msgid "Delete Gatekeeper Group" msgid "Delete Gatekeeper Group"
msgstr "Odstrániť skupinu Gatekeeper" msgstr "Odstrániť skupinu Gatekeeper"
#: gatekeeper/views.py:146 #: gatekeeper/views.py:166
#, python-format #, python-format
msgid "Are you sure you want to delete the group \"%(name)s\"?" msgid "Are you sure you want to delete the group \"%(name)s\"?"
msgstr "Naozaj chcete odstrániť skupinu \"%(name)s\"?" msgstr "Naozaj chcete odstrániť skupinu \"%(name)s\"?"
#: gatekeeper/views.py:160 #: gatekeeper/views.py:180
msgid "Edit Authentication Method" msgid "Edit Authentication Method"
msgstr "Upraviť metódu autentifikácie" msgstr "Upraviť metódu autentifikácie"
#: gatekeeper/views.py:163 #: gatekeeper/views.py:183
msgid "Create Authentication Method" msgid "Create Authentication Method"
msgstr "Vytvoriť metódu autentifikácie" msgstr "Vytvoriť metódu autentifikácie"
#: gatekeeper/views.py:170 #: gatekeeper/views.py:190
msgid "Authentication Method saved successfully." msgid "Authentication Method saved successfully."
msgstr "Metóda autentifikácie bola úspešne uložená." msgstr "Metóda autentifikácie bola úspešne uložená."
#: gatekeeper/views.py:175 #: gatekeeper/views.py:195
#, fuzzy
#| msgid ""
#| "\n"
#| " <h4>Authentication Types</h4>\n"
#| " <p>Select how users will authenticate through this method.</p>\n"
#| " \n"
#| " <h5>Local Password</h5>\n"
#| " <p>Users will authenticate using a standard username and password "
#| "stored locally. Only one of this type can be created.</p>\n"
#| " \n"
#| " <h5>OIDC (OpenID Connect)</h5>\n"
#| " <p>Users will authenticate via an external identity provider "
#| "(like Keycloak, Google, or Authelia). Requires Provider URL, Client ID, "
#| "and Client Secret.</p>\n"
#| " \n"
#| " <h5>TOTP (Time-Based One-Time Password)</h5>\n"
#| " <p>Users will need to enter a rotating token from an "
#| "authenticator app. Requires setting a Global TOTP Secret. <br>If "
#| "<strong>Global TOTP Before Authentication</strong> is enabled, the PIN is "
#| "required before the username and password to help combat bruteforce "
#| "attacks.</p>\n"
#| " "
msgid "" msgid ""
"\n" "\n"
" <h4>Authentication Types</h4>\n" " <h4>Authentication Types</h4>\n"
@@ -1480,9 +1585,8 @@ msgid ""
" \n" " \n"
" <h5>TOTP (Time-Based One-Time Password)</h5>\n" " <h5>TOTP (Time-Based One-Time Password)</h5>\n"
" <p>Users will need to enter a rotating token from an authenticator " " <p>Users will need to enter a rotating token from an authenticator "
"app. Requires setting a Global TOTP Secret. <br>If <strong>Global TOTP " "app. If a user does not have a personal TOTP configured, the <strong>Global "
"Before Authentication</strong> is enabled, the PIN is required before the " "TOTP Secret</strong> will be used instead. </p>\n"
"username and password to help combat bruteforce attacks.</p>\n"
" " " "
msgstr "" msgstr ""
"\n" "\n"
@@ -1508,83 +1612,83 @@ msgstr ""
"p>\n" "p>\n"
" " " "
#: gatekeeper/views.py:210 #: gatekeeper/views.py:230
msgid "Authentication Method deleted successfully." msgid "Authentication Method deleted successfully."
msgstr "Metóda autentifikácie bola úspešne odstránená." msgstr "Metóda autentifikácie bola úspešne odstránená."
#: gatekeeper/views.py:215 #: gatekeeper/views.py:235
msgid "Delete Authentication Method" msgid "Delete Authentication Method"
msgstr "Odstrániť metódu autentifikácie" msgstr "Odstrániť metódu autentifikácie"
#: gatekeeper/views.py:217 #: gatekeeper/views.py:237
#, python-format #, python-format
msgid "Are you sure you want to delete the authentication method \"%(name)s\"?" msgid "Are you sure you want to delete the authentication method \"%(name)s\"?"
msgstr "Naozaj chcete odstrániť metódu autentifikácie \"%(name)s\"?" msgstr "Naozaj chcete odstrániť metódu autentifikácie \"%(name)s\"?"
#: gatekeeper/views.py:267 #: gatekeeper/views.py:287
msgid "Edit Allowed Domain" msgid "Edit Allowed Domain"
msgstr "Upraviť povolenú doménu" msgstr "Upraviť povolenú doménu"
#: gatekeeper/views.py:270 templates/gatekeeper/gatekeeper_list.html:186 #: gatekeeper/views.py:290 templates/gatekeeper/gatekeeper_list.html:202
msgid "Add Allowed Domain" msgid "Add Allowed Domain"
msgstr "Pridať povolenú doménu" msgstr "Pridať povolenú doménu"
#: gatekeeper/views.py:277 #: gatekeeper/views.py:297
msgid "Allowed Domain saved successfully." msgid "Allowed Domain saved successfully."
msgstr "Povolená doména bola úspešne uložená." msgstr "Povolená doména bola úspešne uložená."
#: gatekeeper/views.py:299 #: gatekeeper/views.py:319
msgid "Allowed Domain deleted successfully." msgid "Allowed Domain deleted successfully."
msgstr "Povolená doména bola úspešne odstránená." msgstr "Povolená doména bola úspešne odstránená."
#: gatekeeper/views.py:304 #: gatekeeper/views.py:324
msgid "Delete Allowed Domain" msgid "Delete Allowed Domain"
msgstr "Odstrániť povolenú doménu" msgstr "Odstrániť povolenú doménu"
#: gatekeeper/views.py:306 #: gatekeeper/views.py:326
#, python-format #, python-format
msgid "Are you sure you want to delete the allowed domain \"%(domain)s\"?" msgid "Are you sure you want to delete the allowed domain \"%(domain)s\"?"
msgstr "Naozaj chcete odstrániť povolenú doménu \"%(domain)s\"?" msgstr "Naozaj chcete odstrániť povolenú doménu \"%(domain)s\"?"
#: gatekeeper/views.py:320 #: gatekeeper/views.py:340
msgid "Edit Allowed Email" msgid "Edit Allowed Email"
msgstr "Upraviť povolený e-mail" msgstr "Upraviť povolený e-mail"
#: gatekeeper/views.py:323 templates/gatekeeper/gatekeeper_list.html:183 #: gatekeeper/views.py:343 templates/gatekeeper/gatekeeper_list.html:199
msgid "Add Allowed Email" msgid "Add Allowed Email"
msgstr "Pridať povolený e-mail" msgstr "Pridať povolený e-mail"
#: gatekeeper/views.py:330 #: gatekeeper/views.py:350
msgid "Allowed Email saved successfully." msgid "Allowed Email saved successfully."
msgstr "Povolený e-mail bol úspešne uložený." msgstr "Povolený e-mail bol úspešne uložený."
#: gatekeeper/views.py:352 #: gatekeeper/views.py:372
msgid "Allowed Email deleted successfully." msgid "Allowed Email deleted successfully."
msgstr "Povolený e-mail bol úspešne odstránený." msgstr "Povolený e-mail bol úspešne odstránený."
#: gatekeeper/views.py:357 #: gatekeeper/views.py:377
msgid "Delete Allowed Email" msgid "Delete Allowed Email"
msgstr "Odstrániť povolený e-mail" msgstr "Odstrániť povolený e-mail"
#: gatekeeper/views.py:359 #: gatekeeper/views.py:379
#, python-format #, python-format
msgid "Are you sure you want to delete the allowed email \"%(email)s\"?" msgid "Are you sure you want to delete the allowed email \"%(email)s\"?"
msgstr "Naozaj chcete odstrániť povolený e-mail \"%(email)s\"?" msgstr "Naozaj chcete odstrániť povolený e-mail \"%(email)s\"?"
#: gatekeeper/views.py:373 #: gatekeeper/views.py:393
msgid "Edit IP Address" msgid "Edit IP Address"
msgstr "Upraviť IP adresu" msgstr "Upraviť IP adresu"
#: gatekeeper/views.py:376 templates/gatekeeper/gatekeeper_list.html:247 #: gatekeeper/views.py:396 templates/gatekeeper/gatekeeper_list.html:263
#: templates/wireguard/wireguard_manage_peer.html:171 #: templates/wireguard/wireguard_manage_peer.html:171
msgid "Add IP Address" msgid "Add IP Address"
msgstr "Pridať IP adresu" msgstr "Pridať IP adresu"
#: gatekeeper/views.py:383 #: gatekeeper/views.py:403
msgid "IP Address saved successfully." msgid "IP Address saved successfully."
msgstr "IP adresa bola úspešne uložená." msgstr "IP adresa bola úspešne uložená."
#: gatekeeper/views.py:388 #: gatekeeper/views.py:408
msgid "" msgid ""
"\n" "\n"
" <h5>IP Address List</h5>\n" " <h5>IP Address List</h5>\n"
@@ -1631,15 +1735,15 @@ msgstr ""
"(napr. „Kancelárska sieť“, „Blokovaný útočník“).</p>\n" "(napr. „Kancelárska sieť“, „Blokovaný útočník“).</p>\n"
" " " "
#: gatekeeper/views.py:424 #: gatekeeper/views.py:444
msgid "IP Address deleted successfully." msgid "IP Address deleted successfully."
msgstr "IP adresa bola úspešne odstránená." msgstr "IP adresa bola úspešne odstránená."
#: gatekeeper/views.py:429 #: gatekeeper/views.py:449
msgid "Delete IP Address" msgid "Delete IP Address"
msgstr "Odstrániť IP adresu" msgstr "Odstrániť IP adresu"
#: gatekeeper/views.py:431 #: gatekeeper/views.py:451
#, python-format #, python-format
msgid "Are you sure you want to delete the IP address \"%(address)s\"?" msgid "Are you sure you want to delete the IP address \"%(address)s\"?"
msgstr "Naozaj chcete odstrániť IP adresu \"%(address)s\"?" msgstr "Naozaj chcete odstrániť IP adresu \"%(address)s\"?"
@@ -1993,8 +2097,8 @@ msgid "In"
msgstr "Vstup" msgstr "Vstup"
#: templates/api_v2/api_documentation.html:49 #: templates/api_v2/api_documentation.html:49
#: templates/gatekeeper/gatekeeper_list.html:150 #: templates/gatekeeper/gatekeeper_list.html:166
#: templates/gatekeeper/gatekeeper_list.html:195 #: templates/gatekeeper/gatekeeper_list.html:211
#: templates/wireguard/apply_route_template.html:27 #: templates/wireguard/apply_route_template.html:27
msgid "Type" msgid "Type"
msgstr "Typ" msgstr "Typ"
@@ -2004,11 +2108,13 @@ msgid "Required"
msgstr "Povinné" msgstr "Povinné"
#: templates/api_v2/api_documentation.html:62 #: templates/api_v2/api_documentation.html:62
#: templates/gatekeeper/gatekeeper_list.html:75
#: templates/scheduler/scheduleprofile_form.html:175 #: templates/scheduler/scheduleprofile_form.html:175
msgid "Yes" msgid "Yes"
msgstr "Áno" msgstr "Áno"
#: templates/api_v2/api_documentation.html:64 #: templates/api_v2/api_documentation.html:64
#: templates/gatekeeper/gatekeeper_list.html:77
#: templates/scheduler/scheduleprofile_form.html:177 #: templates/scheduler/scheduleprofile_form.html:177
msgid "No" msgid "No"
msgstr "Nie" msgstr "Nie"
@@ -2053,12 +2159,12 @@ msgstr "Zakázané"
#: templates/app_gateway/application_details.html:121 #: templates/app_gateway/application_details.html:121
#: templates/cluster/workers_list.html:77 #: templates/cluster/workers_list.html:77
#: templates/dns/static_host_list.html:74 #: templates/dns/static_host_list.html:74
#: templates/gatekeeper/gatekeeper_list.html:73 #: templates/gatekeeper/gatekeeper_list.html:89
#: templates/gatekeeper/gatekeeper_list.html:116 #: templates/gatekeeper/gatekeeper_list.html:132
#: templates/gatekeeper/gatekeeper_list.html:161 #: templates/gatekeeper/gatekeeper_list.html:177
#: templates/gatekeeper/gatekeeper_list.html:209 #: templates/gatekeeper/gatekeeper_list.html:225
#: templates/gatekeeper/gatekeeper_list.html:226 #: templates/gatekeeper/gatekeeper_list.html:242
#: templates/gatekeeper/gatekeeper_list.html:278 #: templates/gatekeeper/gatekeeper_list.html:294
#: templates/routing_templates/list.html:29 #: templates/routing_templates/list.html:29
#: templates/scheduler/scheduleprofile_form.html:123 #: templates/scheduler/scheduleprofile_form.html:123
#: templates/scheduler/scheduleprofile_list.html:25 #: templates/scheduler/scheduleprofile_list.html:25
@@ -2140,6 +2246,7 @@ msgstr "Pridať politiku prístupu"
#: templates/app_gateway/app_gateway_list.html:140 #: templates/app_gateway/app_gateway_list.html:140
#: templates/gatekeeper/gatekeeper_list.html:43 #: templates/gatekeeper/gatekeeper_list.html:43
#: templates/gatekeeper/gatekeeper_list.html:64
msgid "Groups" msgid "Groups"
msgstr "Skupiny" msgstr "Skupiny"
@@ -2150,10 +2257,10 @@ msgstr "Metódy autentifikácie"
#: templates/app_gateway/app_gateway_list.html:142 #: templates/app_gateway/app_gateway_list.html:142
#: templates/app_gateway/application_details.html:62 #: templates/app_gateway/application_details.html:62
#: templates/app_gateway/application_details.html:109 #: templates/app_gateway/application_details.html:109
#: templates/gatekeeper/gatekeeper_list.html:63 #: templates/gatekeeper/gatekeeper_list.html:65
#: templates/gatekeeper/gatekeeper_list.html:106 #: templates/gatekeeper/gatekeeper_list.html:122
#: templates/gatekeeper/gatekeeper_list.html:151 #: templates/gatekeeper/gatekeeper_list.html:167
#: templates/gatekeeper/gatekeeper_list.html:198 #: templates/gatekeeper/gatekeeper_list.html:214
#: templates/scheduler/scheduleprofile_form.html:111 #: templates/scheduler/scheduleprofile_form.html:111
#: templates/scheduler/scheduleprofile_list.html:15 #: templates/scheduler/scheduleprofile_list.html:15
#: templates/wireguard/apply_route_template.html:28 #: templates/wireguard/apply_route_template.html:28
@@ -2707,10 +2814,19 @@ msgid "Create Port forwarding Rule"
msgstr "Vytvoriť pravidlo presmerovania portov" msgstr "Vytvoriť pravidlo presmerovania portov"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:63 #: templates/gatekeeper/gatekeeper_auth_method_form.html:63
#: templates/gatekeeper/gatekeeper_user_form.html:43
msgid "View QR Code" msgid "View QR Code"
msgstr "Zobraziť QR kód" msgstr "Zobraziť QR kód"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:74 #: templates/gatekeeper/gatekeeper_auth_method_form.html:64
#: templates/gatekeeper/gatekeeper_user_form.html:44
#, fuzzy
#| msgid "Global TOTP Secret"
msgid "Generate TOTP Secret"
msgstr "Globálne TOTP tajomstvo"
#: templates/gatekeeper/gatekeeper_auth_method_form.html:93
#: templates/gatekeeper/gatekeeper_user_form.html:73
msgid "Please enter a TOTP Secret first to generate the QR code." msgid "Please enter a TOTP Secret first to generate the QR code."
msgstr "Najprv zadajte TOTP tajomstvo, aby ste vygenerovali QR kód." msgstr "Najprv zadajte TOTP tajomstvo, aby ste vygenerovali QR kód."
@@ -2736,44 +2852,48 @@ msgstr "Používatelia"
msgid "Add User" msgid "Add User"
msgstr "Pridať používateľa" msgstr "Pridať používateľa"
#: templates/gatekeeper/gatekeeper_list.html:88 #: templates/gatekeeper/gatekeeper_list.html:63
msgid "TOTP"
msgstr ""
#: templates/gatekeeper/gatekeeper_list.html:104
msgid "No Gatekeeper Users found." msgid "No Gatekeeper Users found."
msgstr "Nenašli sa žiadni používatelia Gatekeeper." msgstr "Nenašli sa žiadni používatelia Gatekeeper."
#: templates/gatekeeper/gatekeeper_list.html:95 #: templates/gatekeeper/gatekeeper_list.html:111
msgid "Add Group" msgid "Add Group"
msgstr "Pridať skupinu" msgstr "Pridať skupinu"
#: templates/gatekeeper/gatekeeper_list.html:131 #: templates/gatekeeper/gatekeeper_list.html:147
msgid "No Gatekeeper Groups found." msgid "No Gatekeeper Groups found."
msgstr "Nenašli sa žiadne skupiny Gatekeeper." msgstr "Nenašli sa žiadne skupiny Gatekeeper."
#: templates/gatekeeper/gatekeeper_list.html:140 #: templates/gatekeeper/gatekeeper_list.html:156
msgid "Add Auth Method" msgid "Add Auth Method"
msgstr "Pridať metódu autentifikácie" msgstr "Pridať metódu autentifikácie"
#: templates/gatekeeper/gatekeeper_list.html:176 #: templates/gatekeeper/gatekeeper_list.html:192
msgid "No Authentication Methods found." msgid "No Authentication Methods found."
msgstr "Nenašli sa žiadne metódy autentifikácie." msgstr "Nenašli sa žiadne metódy autentifikácie."
#: templates/gatekeeper/gatekeeper_list.html:196 #: templates/gatekeeper/gatekeeper_list.html:212
msgid "Identity" msgid "Identity"
msgstr "Identita" msgstr "Identita"
#: templates/gatekeeper/gatekeeper_list.html:197 #: templates/gatekeeper/gatekeeper_list.html:213
#: templates/gatekeeper/gatekeeper_list.html:259 #: templates/gatekeeper/gatekeeper_list.html:275
msgid "Auth Method" msgid "Auth Method"
msgstr "Metóda autentifikácie" msgstr "Metóda autentifikácie"
#: templates/gatekeeper/gatekeeper_list.html:241 #: templates/gatekeeper/gatekeeper_list.html:257
msgid "No Allowed Emails or Domains found." msgid "No Allowed Emails or Domains found."
msgstr "Nenašli sa žiadne povolené e-maily ani domény." msgstr "Nenašli sa žiadne povolené e-maily ani domény."
#: templates/gatekeeper/gatekeeper_list.html:260 #: templates/gatekeeper/gatekeeper_list.html:276
msgid "Manage" msgid "Manage"
msgstr "Spravovať" msgstr "Spravovať"
#: templates/gatekeeper/gatekeeper_list.html:293 #: templates/gatekeeper/gatekeeper_list.html:309
msgid "No IP Addresses found." msgid "No IP Addresses found."
msgstr "Nenašli sa žiadne IP adresy." msgstr "Nenašli sa žiadne IP adresy."
@@ -3611,10 +3731,6 @@ msgstr "Potvrdenie hesla je povinné pre nových používateľov."
msgid "The two password fields didn't match." msgid "The two password fields didn't match."
msgstr "Heslá sa nezhodujú." msgstr "Heslá sa nezhodujú."
#: user_manager/forms.py:127
msgid "Password must be at least 8 characters long."
msgstr "Heslo musí mať aspoň 8 znakov."
#: user_manager/forms.py:220 #: user_manager/forms.py:220
msgid "A peer group with that name already exists." msgid "A peer group with that name already exists."
msgstr "Peer skupina s týmto názvom už existuje." msgstr "Peer skupina s týmto názvom už existuje."
@@ -4377,3 +4493,6 @@ msgid "No interfaces found|No WireGuard interfaces were found to process."
msgstr "" msgstr ""
"Neboli nájdené rozhrania|Neboli nájdené žiadne WireGuard rozhrania na " "Neboli nájdené rozhrania|Neboli nájdené žiadne WireGuard rozhrania na "
"spracovanie." "spracovanie."
#~ msgid "Global TOTP Before Authentication"
#~ msgstr "Globálne TOTP pred autentifikáciou"