diff --git a/messages/de-DE.json b/messages/de-DE.json
index 735d4ba5..38fa7696 100644
--- a/messages/de-DE.json
+++ b/messages/de-DE.json
@@ -71,7 +71,7 @@
"dockerRun": "Docker Run",
"siteLearnLocal": "Lokale Sites nicht Tunnel, erfahren Sie mehr",
"siteConfirmCopy": "Ich habe die Konfiguration kopiert",
- "searchSites": "Seiten suchen...",
+ "searchSitesProgress": "Seiten suchen...",
"siteAdd": "Site hinzufügen",
"siteInstallNewt": "Neustart installieren",
"siteInstallNewtDescription": "Lass Newt auf deinem System laufen",
@@ -111,7 +111,7 @@
"shareErrorDelete": "Link konnte nicht gelöscht werden",
"shareErrorDeleteMessage": "Fehler beim Löschen des Links",
"shareDeleted": "Link gelöscht",
- "shareDeletedDesciption": "Der Link wurde gelöscht",
+ "shareDeletedDescription": "Der Link wurde gelöscht",
"shareTokenDescription": "Ihr Zugriffstoken kann auf zwei Arten übergeben werden: als Abfrageparameter oder in den Anfrage-Headern. Diese müssen vom Client auf jeder Anfrage für authentifizierten Zugriff weitergegeben werden.",
"accessToken": "Zugangs-Token",
"usageExamples": "Nutzungsbeispiele",
@@ -234,7 +234,7 @@
"username": "Benutzername",
"identityProvider": "Identitätsanbieter",
"role": "Rolle",
- "accessRoleNameRequired": "Name ist erforderlich",
+ "nameRequired": "Name ist erforderlich",
"accessRolesManage": "Rollen verwalten",
"accessRolesDescription": "Konfigurieren Sie Rollen, um den Zugriff auf Ihre Organisation zu verwalten",
"accessRolesSearch": "Rollen suchen...",
@@ -382,5 +382,319 @@
"inviteValidityPeriodSelect": "Gültigkeitszeitraum auswählen",
"inviteRegenerateMessage": "Die Einladung wurde neu generiert. Der Benutzer muss den untenstehenden Link aufrufen, um die Einladung anzunehmen.",
"inviteRegenerateButton": "Neu generieren",
- "expiresAt": "Läuft ab am"
+ "expiresAt": "Läuft ab am",
+ "accessRoleUnknown": "Unbekannte Rolle",
+ "placeholder": "Platzhalter",
+ "userErrorOrgRemove": "Fehler beim Entfernen des Benutzers",
+ "userErrorOrgRemoveDescription": "Beim Entfernen des Benutzers ist ein Fehler aufgetreten.",
+ "userOrgRemoved": "Benutzer entfernt",
+ "userOrgRemovedDescription": "Der Benutzer {email} wurde aus der Organisation entfernt.",
+ "userQuestionOrgRemove": "Sind Sie sicher, dass Sie {email} aus der Organisation entfernen möchten?",
+ "userMessageOrgRemove": "Nach dem Entfernen hat dieser Benutzer keinen Zugriff mehr auf die Organisation. Sie können ihn später jederzeit wieder einladen, aber er muss die Einladung erneut annehmen.",
+ "userMessageOrgConfirm": "Geben Sie zur Bestätigung den Namen des Benutzers unten ein.",
+ "userRemoveOrgConfirm": "Entfernen des Benutzers bestätigen",
+ "userRemoveOrg": "Benutzer aus der Organisation entfernen",
+ "users": "Benutzer",
+ "accessRoleMember": "Mitglied",
+ "accessRoleOwner": "Eigentümer",
+ "userConfirmed": "Bestätigt",
+ "idpNameInternal": "Intern",
+ "emailInvalid": "Ungültige E-Mail-Adresse",
+ "inviteValidityDuration": "Bitte wählen Sie eine Dauer",
+ "accessRoleSelectPlease": "Bitte wählen Sie eine Rolle",
+ "usernameRequired": "Benutzername ist erforderlich",
+ "idpSelectPlease": "Bitte wählen Sie einen Identitätsanbieter",
+ "idpGenericOidc": "Generischer OAuth2/OIDC-Anbieter.",
+ "accessRoleErrorFetch": "Fehler beim Abrufen der Rollen",
+ "accessRoleErrorFetchDescription": "Beim Abrufen der Rollen ist ein Fehler aufgetreten",
+ "idpErrorFetch": "Fehler beim Abrufen der Identitätsanbieter",
+ "idpErrorFetchDescription": "Beim Abrufen der Identitätsanbieter ist ein Fehler aufgetreten",
+ "userErrorExists": "Benutzer existiert bereits",
+ "userErrorExistsDescription": "Dieser Benutzer ist bereits Mitglied der Organisation.",
+ "inviteError": "Fehler beim Einladen des Benutzers",
+ "inviteErrorDescription": "Beim Einladen des Benutzers ist ein Fehler aufgetreten",
+ "userInvited": "Benutzer eingeladen",
+ "userInvitedDescription": "Der Benutzer wurde erfolgreich eingeladen.",
+ "userErrorCreate": "Fehler beim Erstellen des Benutzers",
+ "userErrorCreateDescription": "Beim Erstellen des Benutzers ist ein Fehler aufgetreten",
+ "userCreated": "Benutzer erstellt",
+ "userCreatedDescription": "Der Benutzer wurde erfolgreich erstellt.",
+ "userTypeInternal": "Interner Benutzer",
+ "userTypeInternalDescription": "Laden Sie einen Benutzer direkt in Ihre Organisation ein.",
+ "userTypeExternal": "Externer Benutzer",
+ "userTypeExternalDescription": "Erstellen Sie einen Benutzer mit einem externen Identitätsanbieter.",
+ "accessUserCreateDescription": "Folgen Sie den Schritten unten, um einen neuen Benutzer zu erstellen",
+ "userSeeAll": "Alle Benutzer anzeigen",
+ "userTypeTitle": "Benutzertyp",
+ "userTypeDescription": "Legen Sie fest, wie Sie den Benutzer erstellen möchten",
+ "userSettings": "Benutzerinformationen",
+ "userSettingsDescription": "Geben Sie die Details für den neuen Benutzer ein",
+ "inviteEmailSent": "Einladungs-E-Mail an Benutzer senden",
+ "inviteValid": "Gültig für",
+ "selectDuration": "Dauer auswählen",
+ "accessRoleSelect": "Rolle auswählen",
+ "inviteEmailSentDescription": "Eine E-Mail mit dem Zugangslink wurde an den Benutzer gesendet. Er muss den Link aufrufen, um die Einladung anzunehmen.",
+ "inviteSentDescription": "Der Benutzer wurde eingeladen. Er muss den unten stehenden Link aufrufen, um die Einladung anzunehmen.",
+ "inviteExpiresIn": "Die Einladung läuft in {days, plural, =1 {einem Tag} other {# Tagen}} ab.",
+ "idpTitle": "Identitätsanbieter",
+ "idpSelect": "Wählen Sie den Identitätsanbieter für den externen Benutzer",
+ "idpNotConfigured": "Es sind keine Identitätsanbieter konfiguriert. Bitte konfigurieren Sie einen Identitätsanbieter, bevor Sie externe Benutzer erstellen.",
+ "usernameUniq": "Dies muss mit dem eindeutigen Benutzernamen übereinstimmen, der im ausgewählten Identitätsanbieter existiert.",
+ "emailOptional": "E-Mail (Optional)",
+ "nameOptional": "Name (Optional)",
+ "accessControls": "Zugriffskontrolle",
+ "userDescription2": "Verwalten Sie die Einstellungen dieses Benutzers",
+ "accessRoleErrorAdd": "Fehler beim Hinzufügen des Benutzers zur Rolle",
+ "accessRoleErrorAddDescription": "Beim Hinzufügen des Benutzers zur Rolle ist ein Fehler aufgetreten.",
+ "userSaved": "Benutzer gespeichert",
+ "userSavedDescription": "Der Benutzer wurde aktualisiert.",
+ "accessControlsDescription": "Verwalten Sie, worauf dieser Benutzer in der Organisation zugreifen und was er tun kann",
+ "accessControlsSubmit": "Zugriffskontrollen speichern",
+ "roles": "Rollen",
+ "accessUsersRoles": "Benutzer & Rollen verwalten",
+ "accessUsersRolesDescription": "Laden Sie Benutzer ein und fügen Sie sie zu Rollen hinzu, um den Zugriff auf Ihre Organisation zu verwalten",
+ "key": "Schlüssel",
+ "createdAt": "Erstellt am",
+ "proxyErrorInvalidHeader": "Ungültiger benutzerdefinierter Host-Header-Wert. Verwenden Sie das Domänennamensformat oder speichern Sie leer, um den benutzerdefinierten Host-Header zu deaktivieren.",
+ "proxyErrorTls": "Ungültiger TLS-Servername. Verwenden Sie das Domänennamensformat oder speichern Sie leer, um den TLS-Servernamen zu entfernen.",
+ "targetErrorFetch": "Fehler beim Abrufen der Ziele",
+ "targetErrorFetchDescription": "Beim Abrufen der Ziele ist ein Fehler aufgetreten",
+ "siteErrorFetch": "Fehler beim Abrufen der Ressource",
+ "siteErrorFetchDescription": "Beim Abrufen der Ressource ist ein Fehler aufgetreten",
+ "targetErrorDuplicate": "Doppeltes Ziel",
+ "targetErrorDuplicateDescription": "Ein Ziel mit diesen Einstellungen existiert bereits",
+ "targetWireGuardErrorInvalidIp": "Ungültige Ziel-IP",
+ "targetWireGuardErrorInvalidIpDescription": "Die Ziel-IP muss innerhalb des Site-Subnets liegen",
+ "targetsUpdated": "Ziele aktualisiert",
+ "targetsUpdatedDescription": "Ziele und Einstellungen erfolgreich aktualisiert",
+ "targetsErrorUpdate": "Fehler beim Aktualisieren der Ziele",
+ "targetsErrorUpdateDescription": "Beim Aktualisieren der Ziele ist ein Fehler aufgetreten",
+ "targetTlsUpdate": "TLS-Einstellungen aktualisiert",
+ "targetTlsUpdateDescription": "Ihre TLS-Einstellungen wurden erfolgreich aktualisiert",
+ "targetErrorTlsUpdate": "Fehler beim Aktualisieren der TLS-Einstellungen",
+ "targetErrorTlsUpdateDescription": "Beim Aktualisieren der TLS-Einstellungen ist ein Fehler aufgetreten",
+ "proxyUpdated": "Proxy-Einstellungen aktualisiert",
+ "proxyUpdatedDescription": "Ihre Proxy-Einstellungen wurden erfolgreich aktualisiert",
+ "proxyErrorUpdate": "Fehler beim Aktualisieren der Proxy-Einstellungen",
+ "proxyErrorUpdateDescription": "Beim Aktualisieren der Proxy-Einstellungen ist ein Fehler aufgetreten",
+ "targetAddr": "IP / Hostname",
+ "targetPort": "Port",
+ "targetProtocol": "Protokoll",
+ "targetTlsSettings": "HTTPS & TLS Einstellungen",
+ "targetTlsSettingsDescription": "Konfigurieren Sie TLS-Einstellungen für Ihre Ressource",
+ "targetTlsSettingsAdvanced": "Erweiterte TLS-Einstellungen",
+ "targetTlsSni": "TLS-Servername (SNI)",
+ "targetTlsSniDescription": "Der zu verwendende TLS-Servername für SNI. Leer lassen, um den Standard zu verwenden.",
+ "targetTlsSubmit": "Einstellungen speichern",
+ "targets": "Ziel-Konfiguration",
+ "targetsDescription": "Richten Sie Ziele ein, um Datenverkehr zu Ihren Diensten zu leiten",
+ "targetStickySessions": "Sticky Sessions aktivieren",
+ "targetStickySessionsDescription": "Verbindungen für die gesamte Sitzung auf demselben Backend-Ziel halten.",
+ "methodSelect": "Methode auswählen",
+ "targetSubmit": "Ziel hinzufügen",
+ "targetNoOne": "Keine Ziele. Fügen Sie ein Ziel über das Formular hinzu.",
+ "targetNoOneDescription": "Das Hinzufügen von mehr als einem Ziel aktiviert den Lastausgleich.",
+ "targetsSubmit": "Ziele speichern",
+ "proxyAdditional": "Zusätzliche Proxy-Einstellungen",
+ "proxyAdditionalDescription": "Konfigurieren Sie, wie Ihre Ressource mit Proxy-Einstellungen umgeht",
+ "proxyCustomHeader": "Benutzerdefinierter Host-Header",
+ "proxyCustomHeaderDescription": "Der Host-Header, der beim Weiterleiten von Anfragen gesetzt werden soll. Leer lassen, um den Standard zu verwenden.",
+ "proxyAdditionalSubmit": "Proxy-Einstellungen speichern",
+ "subnetMaskErrorInvalid": "Ungültige Subnetzmaske. Muss zwischen 0 und 32 liegen.",
+ "ipAddressErrorInvalidFormat": "Ungültiges IP-Adressformat",
+ "ipAddressErrorInvalidOctet": "Ungültiges IP-Adress-Oktett",
+ "path": "Pfad",
+ "ipAddressRange": "IP-Bereich",
+ "rulesErrorFetch": "Fehler beim Abrufen der Regeln",
+ "rulesErrorFetchDescription": "Beim Abrufen der Regeln ist ein Fehler aufgetreten",
+ "rulesErrorDuplicate": "Doppelte Regel",
+ "rulesErrorDuplicateDescription": "Eine Regel mit diesen Einstellungen existiert bereits",
+ "rulesErrorInvalidIpAddressRange": "Ungültiger CIDR",
+ "rulesErrorInvalidIpAddressRangeDescription": "Bitte geben Sie einen gültigen CIDR-Wert ein",
+ "rulesErrorInvalidUrl": "Ungültiger URL-Pfad",
+ "rulesErrorInvalidUrlDescription": "Bitte geben Sie einen gültigen URL-Pfad-Wert ein",
+ "rulesErrorInvalidIpAddress": "Ungültige IP",
+ "rulesErrorInvalidIpAddressDescription": "Bitte geben Sie eine gültige IP-Adresse ein",
+ "rulesErrorUpdate": "Fehler beim Aktualisieren der Regeln",
+ "rulesErrorUpdateDescription": "Beim Aktualisieren der Regeln ist ein Fehler aufgetreten",
+ "rulesUpdated": "Regeln aktivieren",
+ "rulesUpdatedDescription": "Die Regelauswertung wurde aktualisiert",
+ "rulesMatchIpAddressRangeDescription": "Geben Sie eine Adresse im CIDR-Format ein (z.B. 103.21.244.0/22)",
+ "rulesMatchIpAddress": "Geben Sie eine IP-Adresse ein (z.B. 103.21.244.12)",
+ "rulesMatchUrl": "Geben Sie einen URL-Pfad oder -Muster ein (z.B. /api/v1/todos oder /api/v1/*)",
+ "rulesErrorInvalidPriority": "Ungültige Priorität",
+ "rulesErrorInvalidPriorityDescription": "Bitte geben Sie eine gültige Priorität ein",
+ "rulesErrorDuplicatePriority": "Doppelte Prioritäten",
+ "rulesErrorDuplicatePriorityDescription": "Bitte geben Sie eindeutige Prioritäten ein",
+ "ruleUpdated": "Regeln aktualisiert",
+ "ruleUpdatedDescription": "Regeln erfolgreich aktualisiert",
+ "ruleErrorUpdate": "Operation fehlgeschlagen",
+ "ruleErrorUpdateDescription": "Während des Speichervorgangs ist ein Fehler aufgetreten",
+ "rulesPriority": "Priorität",
+ "rulesAction": "Aktion",
+ "rulesMatchType": "Übereinstimmungstyp",
+ "value": "Wert",
+ "rulesAbout": "Über Regeln",
+ "rulesAboutDescription": "Mit Regeln können Sie den Zugriff auf Ihre Ressource anhand verschiedener Kriterien steuern. Sie können Regeln erstellen, um den Zugriff basierend auf IP-Adresse oder URL-Pfad zu erlauben oder zu verweigern.",
+ "rulesActions": "Aktionen",
+ "rulesActionAlwaysAllow": "Immer erlauben: Alle Authentifizierungsmethoden umgehen",
+ "rulesActionAlwaysDeny": "Immer verweigern: Alle Anfragen blockieren; keine Authentifizierung möglich",
+ "rulesMatchCriteria": "Übereinstimmungskriterien",
+ "rulesMatchCriteriaIpAddress": "Mit einer bestimmten IP-Adresse übereinstimmen",
+ "rulesMatchCriteriaIpAddressRange": "Mit einem IP-Adressbereich in CIDR-Notation übereinstimmen",
+ "rulesMatchCriteriaUrl": "Mit einem URL-Pfad oder -Muster übereinstimmen",
+ "rulesEnable": "Regeln aktivieren",
+ "rulesEnableDescription": "Regelauswertung für diese Ressource aktivieren oder deaktivieren",
+ "rulesResource": "Ressourcen-Regelkonfiguration",
+ "rulesResourceDescription": "Konfigurieren Sie Regeln zur Steuerung des Zugriffs auf Ihre Ressource",
+ "ruleSubmit": "Regel hinzufügen",
+ "rulesNoOne": "Keine Regeln. Fügen Sie eine Regel über das Formular hinzu.",
+ "rulesOrder": "Regeln werden nach aufsteigender Priorität ausgewertet.",
+ "rulesSubmit": "Regeln speichern",
+ "resourceErrorCreate": "Fehler beim Erstellen der Ressource",
+ "resourceErrorCreateDescription": "Beim Erstellen der Ressource ist ein Fehler aufgetreten",
+ "resourceErrorCreateMessage": "Fehler beim Erstellen der Ressource:",
+ "resourceErrorCreateMessageDescription": "Ein unerwarteter Fehler ist aufgetreten",
+ "sitesErrorFetch": "Fehler beim Abrufen der Sites",
+ "sitesErrorFetchDescription": "Beim Abrufen der Sites ist ein Fehler aufgetreten",
+ "domainsErrorFetch": "Fehler beim Abrufen der Domains",
+ "domainsErrorFetchDescription": "Beim Abrufen der Domains ist ein Fehler aufgetreten",
+ "none": "Keine",
+ "unknown": "Unbekannt",
+ "resources": "Ressourcen",
+ "resourcesDescription": "Ressourcen sind Proxies zu Anwendungen in Ihrem privaten Netzwerk. Erstellen Sie eine Ressource für jeden HTTP/HTTPS- oder rohen TCP/UDP-Dienst in Ihrem privaten Netzwerk. Jede Ressource muss mit einer Site verbunden sein, um private, sichere Konnektivität über einen verschlüsselten WireGuard-Tunnel zu ermöglichen.",
+ "resourcesWireGuardConnect": "Sichere Verbindung mit WireGuard-Verschlüsselung",
+ "resourcesMultipleAuthenticationMethods": "Mehrere Authentifizierungsmethoden konfigurieren",
+ "resourcesUsersRolesAccess": "Benutzer- und rollenbasierte Zugriffskontrolle",
+ "resourcesErrorUpdate": "Fehler beim Umschalten der Ressource",
+ "resourcesErrorUpdateDescription": "Beim Aktualisieren der Ressource ist ein Fehler aufgetreten",
+ "access": "Zugriff",
+ "shareLink": "{resource} Freigabe-Link",
+ "resourceSelect": "Ressource auswählen",
+ "shareLinks": "Freigabe-Links",
+ "share": "Teilbare Links",
+ "shareDescription2": "Erstellen Sie teilbare Links zu Ihren Ressourcen. Links bieten temporären oder unbegrenzten Zugriff auf Ihre Ressource. Sie können die Ablaufzeit des Links bei der Erstellung konfigurieren.",
+ "shareEasyCreate": "Einfach zu erstellen und zu teilen",
+ "shareConfigurableExpirationDuration": "Konfigurierbare Ablaufzeit",
+ "shareSecureAndRevocable": "Sicher und widerrufbar",
+ "nameMin": "Name muss mindestens {len} Zeichen lang sein.",
+ "nameMax": "Name darf nicht länger als {len} Zeichen sein.",
+ "sitesConfirmCopy": "Bitte bestätigen Sie, dass Sie die Konfiguration kopiert haben.",
+ "unknownCommand": "Unbekannter Befehl",
+ "newtErrorFetchReleases": "Fehler beim Abrufen der Release-Informationen: {err}",
+ "newtErrorFetchLatest": "Fehler beim Abrufen der neuesten Version: {err}",
+ "newtEndpoint": "Newt-Endpunkt",
+ "newtId": "Newt-ID",
+ "newtSecretKey": "Newt-Geheimschlüssel",
+ "architecture": "Architektur",
+ "sites": "Sites",
+ "siteWgAnyClients": "Verwenden Sie einen beliebigen WireGuard-Client zur Verbindung. Sie müssen Ihre internen Ressourcen über die Peer-IP adressieren.",
+ "siteWgCompatibleAllClients": "Kompatibel mit allen WireGuard-Clients",
+ "siteWgManualConfigurationRequired": "Manuelle Konfiguration erforderlich",
+ "userErrorNotAdminOrOwner": "Benutzer ist kein Administrator oder Eigentümer",
+ "pangolinSettings": "Einstellungen - Pangolin",
+ "accessRoleYour": "Ihre Rolle:",
+ "accessRoleSelect2": "Wähle eine Rolle",
+ "accessUserSelect": "Wähle einen Benutzer",
+ "otpEmailEnter": "E-Mail-Adresse eingeben",
+ "otpEmailEnterDescription": "Drücken Sie Enter, um eine E-Mail nach der Eingabe im Eingabefeld hinzuzufügen.",
+ "otpEmailErrorInvalid": "Ungültige E-Mail-Adresse. Platzhalter (*) muss der gesamte lokale Teil sein.",
+ "otpEmailSmtpRequired": "SMTP erforderlich",
+ "otpEmailSmtpRequiredDescription": "SMTP muss auf dem Server aktiviert sein, um die Einmal-Passwort-Authentifizierung zu verwenden.",
+ "otpEmailTitle": "Einmal-Passwörter",
+ "otpEmailTitleDescription": "E-Mail-basierte Authentifizierung für Ressourcenzugriff erforderlich",
+ "otpEmailWhitelist": "E-Mail-Whitelist",
+ "otpEmailWhitelistList": "Zugelassene E-Mails",
+ "otpEmailWhitelistListDescription": "Nur Benutzer mit diesen E-Mail-Adressen können auf diese Ressource zugreifen. Sie werden aufgefordert, ein an ihre E-Mail gesendetes Einmal-Passwort einzugeben. Platzhalter (*@example.com) können verwendet werden, um E-Mail-Adressen einer Domain zuzulassen.",
+ "otpEmailWhitelistSave": "Whitelist speichern",
+ "passwordAdd": "Passwort hinzufügen",
+ "passwordRemove": "Passwort entfernen",
+ "pincodeAdd": "PIN-Code hinzufügen",
+ "pincodeRemove": "PIN-Code entfernen",
+ "resourceAuthMethods": "Authentifizierungsmethoden",
+ "resourceAuthMethodsDescriptions": "Ermöglichen Sie den Zugriff auf die Ressource über zusätzliche Authentifizierungsmethoden",
+ "resourceAuthSettingsSave": "Erfolgreich gespeichert",
+ "resourceAuthSettingsSaveDescription": "Authentifizierungseinstellungen wurden gespeichert",
+ "resourceErrorAuthFetch": "Fehler beim Abrufen der Daten",
+ "resourceErrorAuthFetchDescription": "Beim Abrufen der Daten ist ein Fehler aufgetreten",
+ "resourceErrorPasswordRemove": "Fehler beim Entfernen des Ressourcenpassworts",
+ "resourceErrorPasswordRemoveDescription": "Beim Entfernen des Ressourcenpassworts ist ein Fehler aufgetreten",
+ "resourceErrorPasswordSetup": "Fehler beim Einrichten des Ressourcenpassworts",
+ "resourceErrorPasswordSetupDescription": "Beim Einrichten des Ressourcenpassworts ist ein Fehler aufgetreten",
+ "resourceErrorPincodeRemove": "Fehler beim Entfernen des Ressourcen-PIN-Codes",
+ "resourceErrorPincodeRemoveDescription": "Beim Entfernen des Ressourcen-PIN-Codes ist ein Fehler aufgetreten",
+ "resourceErrorPincodeSetup": "Fehler beim Einrichten des Ressourcen-PIN-Codes",
+ "resourceErrorPincodeSetupDescription": "Beim Einrichten des Ressourcen-PIN-Codes ist ein Fehler aufgetreten",
+ "resourceErrorUsersRolesSave": "Fehler beim Speichern der Rollen",
+ "resourceErrorUsersRolesSaveDescription": "Beim Speichern der Rollen ist ein Fehler aufgetreten",
+ "resourceErrorWhitelistSave": "Fehler beim Speichern der Whitelist",
+ "resourceErrorWhitelistSaveDescription": "Beim Speichern der Whitelist ist ein Fehler aufgetreten",
+ "resourcePasswordSubmit": "Passwortschutz aktivieren",
+ "resourcePasswordRemove": "Ressourcenpasswort entfernt",
+ "resourcePasswordRemoveDescription": "Das Ressourcenpasswort wurde erfolgreich entfernt",
+ "resourcePasswordSetup": "Ressourcenpasswort festgelegt",
+ "resourcePasswordSetupDescription": "Das Ressourcenpasswort wurde erfolgreich festgelegt",
+ "resourcePasswordSetupTitle": "Passwort festlegen",
+ "resourcePasswordSetupTitleDescription": "Legen Sie ein Passwort fest, um diese Ressource zu schützen",
+ "resourcePincode": "PIN-Code",
+ "resourcePincodeSubmit": "PIN-Code-Schutz aktivieren",
+ "resourcePincodeProtection": "PIN-Code-Schutz {status}",
+ "resourcePincodeRemove": "Ressourcen-PIN-Code entfernt",
+ "resourcePincodeRemoveDescription": "Der Ressourcen-PIN-Code wurde erfolgreich entfernt",
+ "resourcePincodeSetup": "Ressourcen-PIN-Code festgelegt",
+ "resourcePincodeSetupDescription": "Der Ressourcen-PIN-Code wurde erfolgreich festgelegt",
+ "resourcePincodeSetupTitle": "PIN-Code festlegen",
+ "resourcePincodeSetupTitleDescription": "Legen Sie einen PIN-Code fest, um diese Ressource zu schützen",
+ "resourceRoleDescription": "Administratoren haben immer Zugriff auf diese Ressource.",
+ "resourceUsersRoles": "Benutzer & Rollen",
+ "resourceUsersRolesDescription": "Konfigurieren Sie, welche Benutzer und Rollen diese Ressource besuchen können",
+ "resourceUsersRolesSubmit": "Benutzer & Rollen speichern",
+ "resourceWhitelistSave": "Erfolgreich gespeichert",
+ "resourceWhitelistSaveDescription": "Whitelist-Einstellungen wurden gespeichert",
+ "ssoUse": "Plattform SSO verwenden",
+ "ssoUseDescription": "Bestehende Benutzer müssen sich nur einmal für alle Ressourcen anmelden, bei denen dies aktiviert ist.",
+ "proxyErrorInvalidPort": "Ungültige Portnummer",
+ "subdomainErrorInvalid": "Ungültige Subdomain",
+ "domainErrorFetch": "Fehler beim Abrufen der Domains",
+ "domainErrorFetchDescription": "Beim Abrufen der Domains ist ein Fehler aufgetreten",
+ "resourceErrorUpdate": "Ressource konnte nicht aktualisiert werden",
+ "resourceErrorUpdateDescription": "Beim Aktualisieren der Ressource ist ein Fehler aufgetreten",
+ "resourceUpdated": "Ressource aktualisiert",
+ "resourceUpdatedDescription": "Die Ressource wurde erfolgreich aktualisiert",
+ "resourceErrorTransfer": "Ressource konnte nicht übertragen werden",
+ "resourceErrorTransferDescription": "Beim Übertragen der Ressource ist ein Fehler aufgetreten",
+ "resourceTransferred": "Ressource übertragen",
+ "resourceTransferredDescription": "Die Ressource wurde erfolgreich übertragen",
+ "resourceErrorToggle": "Ressource konnte nicht umgeschaltet werden",
+ "resourceErrorToggleDescription": "Beim Aktualisieren der Ressource ist ein Fehler aufgetreten",
+ "resourceVisibilityTitle": "Sichtbarkeit",
+ "resourceVisibilityTitleDescription": "Ressourcensichtbarkeit vollständig aktivieren oder deaktivieren",
+ "resourceGeneral": "Allgemeine Einstellungen",
+ "resourceGeneralDescription": "Konfigurieren Sie die allgemeinen Einstellungen für diese Ressource",
+ "resourceEnable": "Ressource aktivieren",
+ "resourceTransfer": "Ressource übertragen",
+ "resourceTransferDescription": "Diese Ressource auf eine andere Site übertragen",
+ "resourceTransferSubmit": "Ressource übertragen",
+ "siteDestination": "Zielsite",
+ "searchSites": "Sites durchsuchen",
+ "accessRoleCreate": "Rolle erstellen",
+ "accessRoleCreateDescription": "Erstellen Sie eine neue Rolle, um Benutzer zu gruppieren und ihre Berechtigungen zu verwalten.",
+ "accessRoleCreateSubmit": "Rolle erstellen",
+ "accessRoleCreated": "Rolle erstellt",
+ "accessRoleCreatedDescription": "Die Rolle wurde erfolgreich erstellt.",
+ "accessRoleErrorCreate": "Fehler beim Erstellen der Rolle",
+ "accessRoleErrorCreateDescription": "Beim Erstellen der Rolle ist ein Fehler aufgetreten.",
+ "accessRoleErrorNewRequired": "Neue Rolle ist erforderlich",
+ "accessRoleErrorRemove": "Fehler beim Entfernen der Rolle",
+ "accessRoleErrorRemoveDescription": "Beim Entfernen der Rolle ist ein Fehler aufgetreten.",
+ "accessRoleName": "Rollenname",
+ "accessRoleQuestionRemove": "Sie sind dabei, die Rolle {name} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.",
+ "accessRoleRemove": "Rolle entfernen",
+ "accessRoleRemoveDescription": "Eine Rolle aus der Organisation entfernen",
+ "accessRoleRemoveSubmit": "Rolle entfernen",
+ "accessRoleRemoved": "Rolle entfernt",
+ "accessRoleRemovedDescription": "Die Rolle wurde erfolgreich entfernt.",
+ "accessRoleRequiredRemove": "Bevor Sie diese Rolle löschen, wählen Sie bitte eine neue Rolle aus, zu der die bestehenden Mitglieder übertragen werden sollen.",
+ "manage": "Verwalten",
+ "sitesNotFound": "Keine Sites gefunden."
}
diff --git a/messages/en-US.json b/messages/en-US.json
index b738849b..aab356d1 100644
--- a/messages/en-US.json
+++ b/messages/en-US.json
@@ -54,8 +54,6 @@
"siteCreateDescription2": "Follow the steps below to create and connect a new site",
"siteCreateDescription": "Create a new site to start connecting your resources",
"close": "Close",
- "siteNameMin": "Name must be at least 2 characters.",
- "siteNameMax": "Name must not be longer than 30 characters.",
"siteErrorCreate": "Error creating site",
"siteErrorCreateKeyPair": "Key pair or site defaults not found",
"siteErrorCreateDefaults": "Site defaults not found",
@@ -71,7 +69,7 @@
"dockerRun": "Docker Run",
"siteLearnLocal": "Local sites do not tunnel, learn more",
"siteConfirmCopy": "I have copied the config",
- "searchSites": "Search sites...",
+ "searchSitesProgress": "Search sites...",
"siteAdd": "Add Site",
"siteInstallNewt": "Install Newt",
"siteInstallNewtDescription": "Get Newt running on your system",
@@ -111,7 +109,7 @@
"shareErrorDelete": "Failed to delete link",
"shareErrorDeleteMessage": "An error occurred deleting link",
"shareDeleted": "Link deleted",
- "shareDeletedDesciption": "The link has been deleted",
+ "shareDeletedDescription": "The link has been deleted",
"shareTokenDescription": "Your access token can be passed in two ways: as a query parameter or in the request headers. These must be passed from the client on every request for authenticated access.",
"accessToken": "Access Token",
"usageExamples": "Usage Examples",
@@ -234,7 +232,7 @@
"username": "Username",
"identityProvider": "Identity Provider",
"role": "Role",
- "accessRoleNameRequired": "Name is required",
+ "nameRequired": "Name is required",
"accessRolesManage": "Manage Roles",
"accessRolesDescription": "Configure roles to manage access to your organization",
"accessRolesSearch": "Search roles...",
@@ -252,8 +250,6 @@
"years": "Years",
"day": "{count, plural, =1 {# day} other {# days}}",
"apiKeysTitle": "API Key Information",
- "apiKeysNameMin": "Name must be at least 2 characters.",
- "apiKeysNameMax": "Name must not be longer than 255 characters.",
"apiKeysConfirmCopy2": "You must confirm that you have copied the API key.",
"apiKeysErrorCreate": "Error creating API key",
"apiKeysErrorSetPermission": "Error setting permissions",
@@ -382,5 +378,319 @@
"inviteValidityPeriodSelect": "Select validity period",
"inviteRegenerateMessage": "The invitation has been regenerated. The user must access the link below to accept the invitation.",
"inviteRegenerateButton": "Regenerate",
- "expiresAt": "Expires At"
+ "expiresAt": "Expires At",
+ "accessRoleUnknown": "Unknown Role",
+ "placeholder": "Placeholder",
+ "userErrorOrgRemove": "Failed to remove user",
+ "userErrorOrgRemoveDescription": "An error occurred while removing the user.",
+ "userOrgRemoved": "User removed",
+ "userOrgRemovedDescription": "The user {email} has been removed from the organization.",
+ "userQuestionOrgRemove": "Are you sure you want to remove {email} from the organization?",
+ "userMessageOrgRemove": "Once removed, this user will no longer have access to the organization. You can always re-invite them later, but they will need to accept the invitation again.",
+ "userMessageOrgConfirm": "To confirm, please type the name of the of the user below.",
+ "userRemoveOrgConfirm": "Confirm Remove User",
+ "userRemoveOrg": "Remove User from Organization",
+ "users": "Users",
+ "accessRoleMember": "Member",
+ "accessRoleOwner": "Owner",
+ "userConfirmed": "Confirmed",
+ "idpNameInternal": "Internal",
+ "emailInvalid": "Invalid email address",
+ "inviteValidityDuration": "Please select a duration",
+ "accessRoleSelectPlease": "Please select a role",
+ "usernameRequired": "Username is required",
+ "idpSelectPlease": "Please select an identity provider",
+ "idpGenericOidc": "Generic OAuth2/OIDC provider.",
+ "accessRoleErrorFetch": "Failed to fetch roles",
+ "accessRoleErrorFetchDescription": "An error occurred while fetching the roles",
+ "idpErrorFetch": "Failed to fetch identity providers",
+ "idpErrorFetchDescription": "An error occurred while fetching identity providers",
+ "userErrorExists": "User Already Exists",
+ "userErrorExistsDescription": "This user is already a member of the organization.",
+ "inviteError": "Failed to invite user",
+ "inviteErrorDescription": "An error occurred while inviting the user",
+ "userInvited": "User invited",
+ "userInvitedDescription": "The user has been successfully invited.",
+ "userErrorCreate": "Failed to create user",
+ "userErrorCreateDescription": "An error occurred while creating the user",
+ "userCreated": "User created",
+ "userCreatedDescription": "The user has been successfully created.",
+ "userTypeInternal": "Internal User",
+ "userTypeInternalDescription": "Invite a user to join your organization directly.",
+ "userTypeExternal": "External User",
+ "userTypeExternalDescription": "Create a user with an external identity provider.",
+ "accessUserCreateDescription": "Follow the steps below to create a new user",
+ "userSeeAll": "See All Users",
+ "userTypeTitle": "User Type",
+ "userTypeDescription": "Determine how you want to create the user",
+ "userSettings": "User Information",
+ "userSettingsDescription": "Enter the details for the new user",
+ "inviteEmailSent": "Send invite email to user",
+ "inviteValid": "Valid For",
+ "selectDuration": "Select duration",
+ "accessRoleSelect": "Select role",
+ "inviteEmailSentDescription": "An email has been sent to the user with the access link below. They must access the link to accept the invitation.",
+ "inviteSentDescription": "The user has been invited. They must access the link below to accept the invitation.",
+ "inviteExpiresIn": "The invite will expire in {days, plural, =1 {# day} other {# days}}.",
+ "idpTitle": "Identity Provider",
+ "idpSelect": "Select the identity provider for the external user",
+ "idpNotConfigured": "No identity providers are configured. Please configure an identity provider before creating external users.",
+ "usernameUniq": "This must match the unique username that exists in the selected identity provider.",
+ "emailOptional": "Email (Optional)",
+ "nameOptional": "Name (Optional)",
+ "accessControls": "Access Controls",
+ "userDescription2": "Manage the settings on this user",
+ "accessRoleErrorAdd": "Failed to add user to role",
+ "accessRoleErrorAddDescription": "An error occurred while adding user to the role.",
+ "userSaved": "User saved",
+ "userSavedDescription": "The user has been updated.",
+ "accessControlsDescription": "Manage what this user can access and do in the organization",
+ "accessControlsSubmit": "Save Access Controls",
+ "roles": "Roles",
+ "accessUsersRoles": "Manage Users & Roles",
+ "accessUsersRolesDescription": "Invite users and add them to roles to manage access to your organization",
+ "key": "Key",
+ "createdAt": "Created At",
+ "proxyErrorInvalidHeader": "Invalid custom Host Header value. Use domain name format, or save empty to unset custom Host Header.",
+ "proxyErrorTls": "Invalid TLS Server Name. Use domain name format, or save empty to remove the TLS Server Name.",
+ "targetErrorFetch": "Failed to fetch targets",
+ "targetErrorFetchDescription": "An error occurred while fetching targets",
+ "siteErrorFetch": "Failed to fetch resource",
+ "siteErrorFetchDescription": "An error occurred while fetching resource",
+ "targetErrorDuplicate": "Duplicate target",
+ "targetErrorDuplicateDescription": "A target with these settings already exists",
+ "targetWireGuardErrorInvalidIp": "Invalid target IP",
+ "targetWireGuardErrorInvalidIpDescription": "Target IP must be within the site subnet",
+ "targetsUpdated": "Targets updated",
+ "targetsUpdatedDescription": "Targets and settings updated successfully",
+ "targetsErrorUpdate": "Failed to update targets",
+ "targetsErrorUpdateDescription": "An error occurred while updating targets",
+ "targetTlsUpdate": "TLS settings updated",
+ "targetTlsUpdateDescription": "Your TLS settings have been updated successfully",
+ "targetErrorTlsUpdate": "Failed to update TLS settings",
+ "targetErrorTlsUpdateDescription": "An error occurred while updating TLS settings",
+ "proxyUpdated": "Proxy settings updated",
+ "proxyUpdatedDescription": "Your proxy settings have been updated successfully",
+ "proxyErrorUpdate": "Failed to update proxy settings",
+ "proxyErrorUpdateDescription": "An error occurred while updating proxy settings",
+ "targetAddr": "IP / Hostname",
+ "targetPort": "Port",
+ "targetProtocol": "Protocol",
+ "targetTlsSettings": "HTTPS & TLS Settings",
+ "targetTlsSettingsDescription": "Configure TLS settings for your resource",
+ "targetTlsSettingsAdvanced": "Advanced TLS Settings",
+ "targetTlsSni": "TLS Server Name (SNI)",
+ "targetTlsSniDescription": "The TLS Server Name to use for SNI. Leave empty to use the default.",
+ "targetTlsSubmit": "Save Settings",
+ "targets": "Targets Configuration",
+ "targetsDescription": "Set up targets to route traffic to your services",
+ "targetStickySessions": "Enable Sticky Sessions",
+ "targetStickySessionsDescription": "Keep connections on the same backend target for their entire session.",
+ "methodSelect": "Select method",
+ "targetSubmit": "Add Target",
+ "targetNoOne": "No targets. Add a target using the form.",
+ "targetNoOneDescription": "Adding more than one target above will enable load balancing.",
+ "targetsSubmit": "Save Targets",
+ "proxyAdditional": "Additional Proxy Settings",
+ "proxyAdditionalDescription": "Configure how your resource handles proxy settings",
+ "proxyCustomHeader": "Custom Host Header",
+ "proxyCustomHeaderDescription": "The host header to set when proxying requests. Leave empty to use the default.",
+ "proxyAdditionalSubmit": "Save Proxy Settings",
+ "subnetMaskErrorInvalid": "Invalid subnet mask. Must be between 0 and 32.",
+ "ipAddressErrorInvalidFormat": "Invalid IP address format",
+ "ipAddressErrorInvalidOctet": "Invalid IP address octet",
+ "path": "Path",
+ "ipAddressRange": "IP Range",
+ "rulesErrorFetch": "Failed to fetch rules",
+ "rulesErrorFetchDescription": "An error occurred while fetching rules",
+ "rulesErrorDuplicate": "Duplicate rule",
+ "rulesErrorDuplicateDescription": "A rule with these settings already exists",
+ "rulesErrorInvalidIpAddressRange": "Invalid CIDR",
+ "rulesErrorInvalidIpAddressRangeDescription": "Please enter a valid CIDR value",
+ "rulesErrorInvalidUrl": "Invalid URL path",
+ "rulesErrorInvalidUrlDescription": "Please enter a valid URL path value",
+ "rulesErrorInvalidIpAddress": "Invalid IP",
+ "rulesErrorInvalidIpAddressDescription": "Please enter a valid IP address",
+ "rulesErrorUpdate": "Failed to update rules",
+ "rulesErrorUpdateDescription": "An error occurred while updating rules",
+ "rulesUpdated": "Enable Rules",
+ "rulesUpdatedDescription": "Rule evaluation has been updated",
+ "rulesMatchIpAddressRangeDescription": "Enter an address in CIDR format (e.g., 103.21.244.0/22)",
+ "rulesMatchIpAddress": "Enter an IP address (e.g., 103.21.244.12)",
+ "rulesMatchUrl": "Enter a URL path or pattern (e.g., /api/v1/todos or /api/v1/*)",
+ "rulesErrorInvalidPriority": "Invalid Priority",
+ "rulesErrorInvalidPriorityDescription": "Please enter a valid priority",
+ "rulesErrorDuplicatePriority": "Duplicate Priorities",
+ "rulesErrorDuplicatePriorityDescription": "Please enter unique priorities",
+ "ruleUpdated": "Rules updated",
+ "ruleUpdatedDescription": "Rules updated successfully",
+ "ruleErrorUpdate": "Operation failed",
+ "ruleErrorUpdateDescription": "An error occurred during the save operation",
+ "rulesPriority": "Priority",
+ "rulesAction": "Action",
+ "rulesMatchType": "Match Type",
+ "value": "Value",
+ "rulesAbout": "About Rules",
+ "rulesAboutDescription": "Rules allow you to control access to your resource based on a set of criteria. You can create rules to allow or deny access based on IP address or URL path.",
+ "rulesActions": "Actions",
+ "rulesActionAlwaysAllow": "Always Allow: Bypass all authentication methods",
+ "rulesActionAlwaysDeny": "Always Deny: Block all requests; no authentication can be attempted",
+ "rulesMatchCriteria": "Matching Criteria",
+ "rulesMatchCriteriaIpAddress": "Match a specific IP address",
+ "rulesMatchCriteriaIpAddressRange": "Match a range of IP addresses in CIDR notation",
+ "rulesMatchCriteriaUrl": "Match a URL path or pattern",
+ "rulesEnable": "Enable Rules",
+ "rulesEnableDescription": "Enable or disable rule evaluation for this resource",
+ "rulesResource": "Resource Rules Configuration",
+ "rulesResourceDescription": "Configure rules to control access to your resource",
+ "ruleSubmit": "Add Rule",
+ "rulesNoOne": "No rules. Add a rule using the form.",
+ "rulesOrder": "Rules are evaluated by priority in ascending order.",
+ "rulesSubmit": "Save Rules",
+ "resourceErrorCreate": "Error creating resource",
+ "resourceErrorCreateDescription": "An error occurred when creating the resource",
+ "resourceErrorCreateMessage": "Error creating resource:",
+ "resourceErrorCreateMessageDescription": "An unexpected error occurred",
+ "sitesErrorFetch": "Error fetching sites",
+ "sitesErrorFetchDescription": "An error occurred when fetching the sites",
+ "domainsErrorFetch": "Error fetching domains",
+ "domainsErrorFetchDescription": "An error occurred when fetching the domains",
+ "none": "None",
+ "unknown": "Unknown",
+ "resources": "Resources",
+ "resourcesDescription": "Resources are proxies to applications running on your private network. Create a resource for any HTTP/HTTPS or raw TCP/UDP service on your private network. Each resource must be connected to a site to enable private, secure connectivity through an encrypted WireGuard tunnel.",
+ "resourcesWireGuardConnect": "Secure connectivity with WireGuard encryption",
+ "resourcesMultipleAuthenticationMethods": "Configure multiple authentication methods",
+ "resourcesUsersRolesAccess": "User and role-based access control",
+ "resourcesErrorUpdate": "Failed to toggle resource",
+ "resourcesErrorUpdateDescription": "An error occurred while updating the resource",
+ "access": "Access",
+ "shareLink": "{resource} Share Link",
+ "resourceSelect": "Select resource",
+ "shareLinks": "Share Links",
+ "share": "Shareable Links",
+ "shareDescription2": "Create shareable links to your resources. Links provide temporary or unlimited access to your resource. You can configure the expiration duration of the link when you create one.",
+ "shareEasyCreate": "Easy to create and share",
+ "shareConfigurableExpirationDuration": "Configurable expiration duration",
+ "shareSecureAndRevocable": "Secure and revocable",
+ "nameMin": "Name must be at least {len} characters.",
+ "nameMax": "Name must not be longer than {len} characters.",
+ "sitesConfirmCopy": "Please confirm that you have copied the config.",
+ "unknownCommand": "Unknown command",
+ "newtErrorFetchReleases": "Failed to fetch release info: {err}",
+ "newtErrorFetchLatest": "Error fetching latest release: {err}",
+ "newtEndpoint": "Newt Endpoint",
+ "newtId": "Newt ID",
+ "newtSecretKey": "Newt Secret Key",
+ "architecture": "Architecture",
+ "sites": "Sites",
+ "siteWgAnyClients": "Use any WireGuard client to connect. You will have to address your internal resources using the peer IP.",
+ "siteWgCompatibleAllClients": "Compatible with all WireGuard clients",
+ "siteWgManualConfigurationRequired": "Manual configuration required",
+ "userErrorNotAdminOrOwner": "User is not an admin or owner",
+ "pangolinSettings": "Settings - Pangolin",
+ "accessRoleYour": "Your role:",
+ "accessRoleSelect2": "Select a role",
+ "accessUserSelect": "Select a user",
+ "otpEmailEnter": "Enter an email",
+ "otpEmailEnterDescription": "Press enter to add an email after typing it in the input field.",
+ "otpEmailErrorInvalid": "Invalid email address. Wildcard (*) must be the entire local part.",
+ "otpEmailSmtpRequired": "SMTP Required",
+ "otpEmailSmtpRequiredDescription": "SMTP must be enabled on the server to use one-time password authentication.",
+ "otpEmailTitle": "One-time Passwords",
+ "otpEmailTitleDescription": "Require email-based authentication for resource access",
+ "otpEmailWhitelist": "Email Whitelist",
+ "otpEmailWhitelistList": "Whitelisted Emails",
+ "otpEmailWhitelistListDescription": "Only users with these email addresses will be able to access this resource. They will be prompted to enter a one-time password sent to their email. Wildcards (*@example.com) can be used to allow any email address from a domain.",
+ "otpEmailWhitelistSave": "Save Whitelist",
+ "passwordAdd": "Add Password",
+ "passwordRemove": "Remove Password",
+ "pincodeAdd": "Add PIN Code",
+ "pincodeRemove": "Remove PIN Code",
+ "resourceAuthMethods": "Authentication Methods",
+ "resourceAuthMethodsDescriptions": "Allow access to the resource via additional auth methods",
+ "resourceAuthSettingsSave": "Saved successfully",
+ "resourceAuthSettingsSaveDescription": "Authentication settings have been saved",
+ "resourceErrorAuthFetch": "Failed to fetch data",
+ "resourceErrorAuthFetchDescription": "An error occurred while fetching the data",
+ "resourceErrorPasswordRemove": "Error removing resource password",
+ "resourceErrorPasswordRemoveDescription": "An error occurred while removing the resource password",
+ "resourceErrorPasswordSetup": "Error setting resource password",
+ "resourceErrorPasswordSetupDescription": "An error occurred while setting the resource password",
+ "resourceErrorPincodeRemove": "Error removing resource pincode",
+ "resourceErrorPincodeRemoveDescription": "An error occurred while removing the resource pincode",
+ "resourceErrorPincodeSetup": "Error setting resource PIN code",
+ "resourceErrorPincodeSetupDescription": "An error occurred while setting the resource PIN code",
+ "resourceErrorUsersRolesSave": "Failed to set roles",
+ "resourceErrorUsersRolesSaveDescription": "An error occurred while setting the roles",
+ "resourceErrorWhitelistSave": "Failed to save whitelist",
+ "resourceErrorWhitelistSaveDescription": "An error occurred while saving the whitelist",
+ "resourcePasswordSubmit": "Enable Password Protection",
+ "resourcePasswordRemove": "Resource password removed",
+ "resourcePasswordRemoveDescription": "The resource password has been removed successfully",
+ "resourcePasswordSetup": "Resource password set",
+ "resourcePasswordSetupDescription": "The resource password has been set successfully",
+ "resourcePasswordSetupTitle": "Set Password",
+ "resourcePasswordSetupTitleDescription": "Set a password to protect this resource",
+ "resourcePincode": "PIN Code",
+ "resourcePincodeSubmit": "Enable PIN Code Protection",
+ "resourcePincodeProtection": "PIN Code Protection {status}",
+ "resourcePincodeRemove": "Resource pincode removed",
+ "resourcePincodeRemoveDescription": "The resource password has been removed successfully",
+ "resourcePincodeSetup": "Resource PIN code set",
+ "resourcePincodeSetupDescription": "The resource pincode has been set successfully",
+ "resourcePincodeSetupTitle": "Set Pincode",
+ "resourcePincodeSetupTitleDescription": "Set a pincode to protect this resource",
+ "resourceRoleDescription": "Admins can always access this resource.",
+ "resourceUsersRoles": "Users & Roles",
+ "resourceUsersRolesDescription": "Configure which users and roles can visit this resource",
+ "resourceUsersRolesSubmit": "Save Users & Roles",
+ "resourceWhitelistSave": "Saved successfully",
+ "resourceWhitelistSaveDescription": "Whitelist settings have been saved",
+ "ssoUse": "Use Platform SSO",
+ "ssoUseDescription": "Existing users will only have to log in once for all resources that have this enabled.",
+ "proxyErrorInvalidPort": "Invalid port number",
+ "subdomainErrorInvalid": "Invalid subdomain",
+ "domainErrorFetch": "Error fetching domains",
+ "domainErrorFetchDescription": "An error occurred when fetching the domains",
+ "resourceErrorUpdate": "Failed to update resource",
+ "resourceErrorUpdateDescription": "An error occurred while updating the resource",
+ "resourceUpdated": "Resource updated",
+ "resourceUpdatedDescription": "The resource has been updated successfully",
+ "resourceErrorTransfer": "Failed to transfer resource",
+ "resourceErrorTransferDescription": "An error occurred while transferring the resource",
+ "resourceTransferred": "Resource transferred",
+ "resourceTransferredDescription": "The resource has been transferred successfully",
+ "resourceErrorToggle": "Failed to toggle resource",
+ "resourceErrorToggleDescription": "An error occurred while updating the resource",
+ "resourceVisibilityTitle": "Visibility",
+ "resourceVisibilityTitleDescription": "Completely enable or disable resource visibility",
+ "resourceGeneral": "General Settings",
+ "resourceGeneralDescription": "Configure the general settings for this resource",
+ "resourceEnable": "Enable Resource",
+ "resourceTransfer": "Transfer Resource",
+ "resourceTransferDescription": "Transfer this resource to a different site",
+ "resourceTransferSubmit": "Transfer Resource",
+ "siteDestination": "Destination Site",
+ "searchSites": "Search sites",
+ "accessRoleCreate": "Create Role",
+ "accessRoleCreateDescription": "Create a new role to group users and manage their permissions.",
+ "accessRoleCreateSubmit": "Create Role",
+ "accessRoleCreated": "Role created",
+ "accessRoleCreatedDescription": "The role has been successfully created.",
+ "accessRoleErrorCreate": "Failed to create role",
+ "accessRoleErrorCreateDescription": "An error occurred while creating the role.",
+ "accessRoleErrorNewRequired": "New role is required",
+ "accessRoleErrorRemove": "Failed to remove role",
+ "accessRoleErrorRemoveDescription": "An error occurred while removing the role.",
+ "accessRoleName": "Role Name",
+ "accessRoleQuestionRemove": "You're about to delete the {name} role. You cannot undo this action.",
+ "accessRoleRemove": "Remove Role",
+ "accessRoleRemoveDescription": "Remove a role from the organization",
+ "accessRoleRemoveSubmit": "Remove Role",
+ "accessRoleRemoved": "Role removed",
+ "accessRoleRemovedDescription": "The role has been successfully removed.",
+ "accessRoleRequiredRemove": "Before deleting this role, please select a new role to transfer existing members to.",
+ "manage": "Manage",
+ "sitesNotFound": "No sites found."
}
diff --git a/messages/fr-FR.json b/messages/fr-FR.json
index 4d6bf660..28aa2b29 100644
--- a/messages/fr-FR.json
+++ b/messages/fr-FR.json
@@ -54,8 +54,6 @@
"siteCreateDescription2": "Suivez les étapes ci-dessous pour créer et connecter un nouveau site",
"siteCreateDescription": "Créez un nouveau site pour commencer à connecter vos ressources",
"close": "Fermer",
- "siteNameMin": "Le nom doit comporter au moins 2 caractères.",
- "siteNameMax": "Le nom ne doit pas contenir plus de 30 caractères.",
"siteErrorCreate": "Erreur lors de la création du site",
"siteErrorCreateKeyPair": "Paire de clés ou site par défaut introuvable",
"siteErrorCreateDefaults": "Les valeurs par défaut du site sont introuvables",
@@ -71,7 +69,7 @@
"dockerRun": "Exécution Docker",
"siteLearnLocal": "Les sites locaux ne tunnel, en savoir plus",
"siteConfirmCopy": "J'ai copié la configuration",
- "searchSites": "Rechercher des sites...",
+ "searchSitesProgress": "Rechercher des sites...",
"siteAdd": "Ajouter un site",
"siteInstallNewt": "Installer Newt",
"siteInstallNewtDescription": "Faites fonctionner Newt sur votre système",
@@ -111,7 +109,7 @@
"shareErrorDelete": "Impossible de supprimer le lien",
"shareErrorDeleteMessage": "Une erreur s'est produite lors de la suppression du lien",
"shareDeleted": "Lien supprimé",
- "shareDeletedDesciption": "Le lien a été supprimé",
+ "shareDeletedDescription": "Le lien a été supprimé",
"shareTokenDescription": "Votre jeton d'accès peut être passé de deux façons : en tant que paramètre de requête ou dans les en-têtes de la requête. Elles doivent être transmises par le client à chaque demande d'accès authentifié.",
"accessToken": "Jeton d'accès",
"usageExamples": "Exemples d'utilisation",
@@ -234,7 +232,7 @@
"username": "Nom d'utilisateur",
"identityProvider": "Fournisseur d'identité",
"role": "Rôle",
- "accessRoleNameRequired": "Le nom est requis",
+ "nameRequired": "Le nom est requis",
"accessRolesManage": "Gérer les rôles",
"accessRolesDescription": "Configurer les rôles pour gérer l'accès à votre organisation",
"accessRolesSearch": "Rechercher des rôles...",
@@ -252,8 +250,6 @@
"years": "Années",
"day": "{count, plural, =1 {# jour} other {# jours}}",
"apiKeysTitle": "Informations sur la clé API",
- "apiKeysNameMin": "Le nom doit comporter au moins 2 caractères.",
- "apiKeysNameMax": "Le nom ne doit pas dépasser 255 caractères.",
"apiKeysConfirmCopy2": "Vous devez confirmer que vous avez copié la clé API.",
"apiKeysErrorCreate": "Erreur lors de la création de la clé API",
"apiKeysErrorSetPermission": "Erreur lors de la définition des permissions",
@@ -382,5 +378,319 @@
"inviteValidityPeriodSelect": "Sélectionner la période de validité",
"inviteRegenerateMessage": "L'invitation a été régénérée. L'utilisateur doit accéder au lien ci-dessous pour accepter l'invitation.",
"inviteRegenerateButton": "Régénérer",
- "expiresAt": "Expire le"
+ "expiresAt": "Expire le",
+ "accessRoleUnknown": "Rôle inconnu",
+ "placeholder": "Espace réservé",
+ "userErrorOrgRemove": "Échec de la suppression de l'utilisateur",
+ "userErrorOrgRemoveDescription": "Une erreur s'est produite lors de la suppression de l'utilisateur.",
+ "userOrgRemoved": "Utilisateur supprimé",
+ "userOrgRemovedDescription": "L'utilisateur {email} a été retiré de l'organisation.",
+ "userQuestionOrgRemove": "Êtes-vous sûr de vouloir retirer {email} de l'organisation ?",
+ "userMessageOrgRemove": "Une fois retiré, cet utilisateur n'aura plus accès à l'organisation. Vous pouvez toujours le réinviter plus tard, mais il devra accepter l'invitation à nouveau.",
+ "userMessageOrgConfirm": "Pour confirmer, veuillez saisir le nom de l'utilisateur ci-dessous.",
+ "userRemoveOrgConfirm": "Confirmer la suppression de l'utilisateur",
+ "userRemoveOrg": "Retirer l'utilisateur de l'organisation",
+ "users": "Utilisateurs",
+ "accessRoleMember": "Membre",
+ "accessRoleOwner": "Propriétaire",
+ "userConfirmed": "Confirmé",
+ "idpNameInternal": "Interne",
+ "emailInvalid": "Adresse e-mail invalide",
+ "inviteValidityDuration": "Veuillez sélectionner une durée",
+ "accessRoleSelectPlease": "Veuillez sélectionner un rôle",
+ "usernameRequired": "Le nom d'utilisateur est requis",
+ "idpSelectPlease": "Veuillez sélectionner un fournisseur d'identité",
+ "idpGenericOidc": "Fournisseur OAuth2/OIDC générique.",
+ "accessRoleErrorFetch": "Échec de la récupération des rôles",
+ "accessRoleErrorFetchDescription": "Une erreur s'est produite lors de la récupération des rôles",
+ "idpErrorFetch": "Échec de la récupération des fournisseurs d'identité",
+ "idpErrorFetchDescription": "Une erreur s'est produite lors de la récupération des fournisseurs d'identité",
+ "userErrorExists": "L'utilisateur existe déjà",
+ "userErrorExistsDescription": "Cet utilisateur est déjà membre de l'organisation.",
+ "inviteError": "Échec de l'invitation de l'utilisateur",
+ "inviteErrorDescription": "Une erreur s'est produite lors de l'invitation de l'utilisateur",
+ "userInvited": "Utilisateur invité",
+ "userInvitedDescription": "L'utilisateur a été invité avec succès.",
+ "userErrorCreate": "Échec de la création de l'utilisateur",
+ "userErrorCreateDescription": "Une erreur s'est produite lors de la création de l'utilisateur",
+ "userCreated": "Utilisateur créé",
+ "userCreatedDescription": "L'utilisateur a été créé avec succès.",
+ "userTypeInternal": "Utilisateur interne",
+ "userTypeInternalDescription": "Inviter un utilisateur à rejoindre votre organisation directement.",
+ "userTypeExternal": "Utilisateur externe",
+ "userTypeExternalDescription": "Créer un utilisateur avec un fournisseur d'identité externe.",
+ "accessUserCreateDescription": "Suivez les étapes ci-dessous pour créer un nouvel utilisateur",
+ "userSeeAll": "Voir tous les utilisateurs",
+ "userTypeTitle": "Type d'utilisateur",
+ "userTypeDescription": "Déterminez comment vous voulez créer l'utilisateur",
+ "userSettings": "Informations utilisateur",
+ "userSettingsDescription": "Entrez les détails du nouvel utilisateur",
+ "inviteEmailSent": "Envoyer un e-mail d'invitation à l'utilisateur",
+ "inviteValid": "Valide pour",
+ "selectDuration": "Sélectionner la durée",
+ "accessRoleSelect": "Sélectionner un rôle",
+ "inviteEmailSentDescription": "Un e-mail a été envoyé à l'utilisateur avec le lien d'accès ci-dessous. Ils doivent accéder au lien pour accepter l'invitation.",
+ "inviteSentDescription": "L'utilisateur a été invité. Ils doivent accéder au lien ci-dessous pour accepter l'invitation.",
+ "inviteExpiresIn": "L'invitation expirera dans {days, plural, =1 {# jour} other {# jours}}.",
+ "idpTitle": "Fournisseur d'identité",
+ "idpSelect": "Sélectionnez le fournisseur d'identité pour l'utilisateur externe",
+ "idpNotConfigured": "Aucun fournisseur d'identité n'est configuré. Veuillez configurer un fournisseur d'identité avant de créer des utilisateurs externes.",
+ "usernameUniq": "Ceci doit correspondre au nom d'utilisateur unique qui existe dans le fournisseur d'identité sélectionné.",
+ "emailOptional": "E-mail (Optionnel)",
+ "nameOptional": "Nom (Optionnel)",
+ "accessControls": "Contrôles d'accès",
+ "userDescription2": "Gérer les paramètres de cet utilisateur",
+ "accessRoleErrorAdd": "Échec de l'ajout de l'utilisateur au rôle",
+ "accessRoleErrorAddDescription": "Une erreur s'est produite lors de l'ajout de l'utilisateur au rôle.",
+ "userSaved": "Utilisateur enregistré",
+ "userSavedDescription": "L'utilisateur a été mis à jour.",
+ "accessControlsDescription": "Gérer ce que cet utilisateur peut accéder et faire dans l'organisation",
+ "accessControlsSubmit": "Enregistrer les contrôles d'accès",
+ "roles": "Rôles",
+ "accessUsersRoles": "Gérer les utilisateurs et les rôles",
+ "accessUsersRolesDescription": "Invitez des utilisateurs et ajoutez-les aux rôles pour gérer l'accès à votre organisation",
+ "key": "Clé",
+ "createdAt": "Créé le",
+ "proxyErrorInvalidHeader": "Valeur d'en-tête Host personnalisée invalide. Utilisez le format de nom de domaine, ou laissez vide pour désactiver l'en-tête Host personnalisé.",
+ "proxyErrorTls": "Nom de serveur TLS invalide. Utilisez le format de nom de domaine, ou laissez vide pour supprimer le nom de serveur TLS.",
+ "targetErrorFetch": "Échec de la récupération des cibles",
+ "targetErrorFetchDescription": "Une erreur s'est produite lors de la récupération des cibles",
+ "siteErrorFetch": "Échec de la récupération de la ressource",
+ "siteErrorFetchDescription": "Une erreur s'est produite lors de la récupération de la ressource",
+ "targetErrorDuplicate": "Cible en double",
+ "targetErrorDuplicateDescription": "Une cible avec ces paramètres existe déjà",
+ "targetWireGuardErrorInvalidIp": "IP cible invalide",
+ "targetWireGuardErrorInvalidIpDescription": "L'IP cible doit être dans le sous-réseau du site",
+ "targetsUpdated": "Cibles mises à jour",
+ "targetsUpdatedDescription": "Cibles et paramètres mis à jour avec succès",
+ "targetsErrorUpdate": "Échec de la mise à jour des cibles",
+ "targetsErrorUpdateDescription": "Une erreur s'est produite lors de la mise à jour des cibles",
+ "targetTlsUpdate": "Paramètres TLS mis à jour",
+ "targetTlsUpdateDescription": "Vos paramètres TLS ont été mis à jour avec succès",
+ "targetErrorTlsUpdate": "Échec de la mise à jour des paramètres TLS",
+ "targetErrorTlsUpdateDescription": "Une erreur s'est produite lors de la mise à jour des paramètres TLS",
+ "proxyUpdated": "Paramètres du proxy mis à jour",
+ "proxyUpdatedDescription": "Vos paramètres de proxy ont été mis à jour avec succès",
+ "proxyErrorUpdate": "Échec de la mise à jour des paramètres du proxy",
+ "proxyErrorUpdateDescription": "Une erreur s'est produite lors de la mise à jour des paramètres du proxy",
+ "targetAddr": "IP / Nom d'hôte",
+ "targetPort": "Port",
+ "targetProtocol": "Protocole",
+ "targetTlsSettings": "Paramètres HTTPS & TLS",
+ "targetTlsSettingsDescription": "Configurer les paramètres TLS pour votre ressource",
+ "targetTlsSettingsAdvanced": "Paramètres TLS avancés",
+ "targetTlsSni": "Nom de serveur TLS (SNI)",
+ "targetTlsSniDescription": "Le nom de serveur TLS à utiliser pour SNI. Laissez vide pour utiliser la valeur par défaut.",
+ "targetTlsSubmit": "Enregistrer les paramètres",
+ "targets": "Configuration des cibles",
+ "targetsDescription": "Configurez les cibles pour router le trafic vers vos services",
+ "targetStickySessions": "Activer les sessions persistantes",
+ "targetStickySessionsDescription": "Maintenir les connexions sur la même cible backend pendant toute leur session.",
+ "methodSelect": "Sélectionner la méthode",
+ "targetSubmit": "Ajouter une cible",
+ "targetNoOne": "Aucune cible. Ajoutez une cible en utilisant le formulaire.",
+ "targetNoOneDescription": "L'ajout de plus d'une cible ci-dessus activera l'équilibrage de charge.",
+ "targetsSubmit": "Enregistrer les cibles",
+ "proxyAdditional": "Paramètres de proxy supplémentaires",
+ "proxyAdditionalDescription": "Configurer la façon dont votre ressource gère les paramètres de proxy",
+ "proxyCustomHeader": "En-tête Host personnalisé",
+ "proxyCustomHeaderDescription": "L'en-tête host à définir lors du proxy des requêtes. Laissez vide pour utiliser la valeur par défaut.",
+ "proxyAdditionalSubmit": "Enregistrer les paramètres de proxy",
+ "subnetMaskErrorInvalid": "Masque de sous-réseau invalide. Doit être entre 0 et 32.",
+ "ipAddressErrorInvalidFormat": "Format d'adresse IP invalide",
+ "ipAddressErrorInvalidOctet": "Octet d'adresse IP invalide",
+ "path": "Chemin",
+ "ipAddressRange": "Plage IP",
+ "rulesErrorFetch": "Échec de la récupération des règles",
+ "rulesErrorFetchDescription": "Une erreur s'est produite lors de la récupération des règles",
+ "rulesErrorDuplicate": "Règle en double",
+ "rulesErrorDuplicateDescription": "Une règle avec ces paramètres existe déjà",
+ "rulesErrorInvalidIpAddressRange": "CIDR invalide",
+ "rulesErrorInvalidIpAddressRangeDescription": "Veuillez entrer une valeur CIDR valide",
+ "rulesErrorInvalidUrl": "Chemin URL invalide",
+ "rulesErrorInvalidUrlDescription": "Veuillez entrer un chemin URL valide",
+ "rulesErrorInvalidIpAddress": "IP invalide",
+ "rulesErrorInvalidIpAddressDescription": "Veuillez entrer une adresse IP valide",
+ "rulesErrorUpdate": "Échec de la mise à jour des règles",
+ "rulesErrorUpdateDescription": "Une erreur s'est produite lors de la mise à jour des règles",
+ "rulesUpdated": "Activer les règles",
+ "rulesUpdatedDescription": "L'évaluation des règles a été mise à jour",
+ "rulesMatchIpAddressRangeDescription": "Entrez une adresse au format CIDR (ex: 103.21.244.0/22)",
+ "rulesMatchIpAddress": "Entrez une adresse IP (ex: 103.21.244.12)",
+ "rulesMatchUrl": "Entrez un chemin URL ou un motif (ex: /api/v1/todos ou /api/v1/*)",
+ "rulesErrorInvalidPriority": "Priorité invalide",
+ "rulesErrorInvalidPriorityDescription": "Veuillez entrer une priorité valide",
+ "rulesErrorDuplicatePriority": "Priorités en double",
+ "rulesErrorDuplicatePriorityDescription": "Veuillez entrer des priorités uniques",
+ "ruleUpdated": "Règles mises à jour",
+ "ruleUpdatedDescription": "Règles mises à jour avec succès",
+ "ruleErrorUpdate": "L'opération a échoué",
+ "ruleErrorUpdateDescription": "Une erreur s'est produite lors de l'enregistrement",
+ "rulesPriority": "Priorité",
+ "rulesAction": "Action",
+ "rulesMatchType": "Type de correspondance",
+ "value": "Valeur",
+ "rulesAbout": "À propos des règles",
+ "rulesAboutDescription": "Les règles vous permettent de contrôler l'accès à votre ressource en fonction d'un ensemble de critères. Vous pouvez créer des règles pour autoriser ou refuser l'accès basé sur l'adresse IP ou le chemin URL.",
+ "rulesActions": "Actions",
+ "rulesActionAlwaysAllow": "Toujours autoriser : Contourner toutes les méthodes d'authentification",
+ "rulesActionAlwaysDeny": "Toujours refuser : Bloquer toutes les requêtes ; aucune authentification ne peut être tentée",
+ "rulesMatchCriteria": "Critères de correspondance",
+ "rulesMatchCriteriaIpAddress": "Correspondre à une adresse IP spécifique",
+ "rulesMatchCriteriaIpAddressRange": "Correspondre à une plage d'adresses IP en notation CIDR",
+ "rulesMatchCriteriaUrl": "Correspondre à un chemin URL ou un motif",
+ "rulesEnable": "Activer les règles",
+ "rulesEnableDescription": "Activer ou désactiver l'évaluation des règles pour cette ressource",
+ "rulesResource": "Configuration des règles de ressource",
+ "rulesResourceDescription": "Configurer les règles pour contrôler l'accès à votre ressource",
+ "ruleSubmit": "Ajouter une règle",
+ "rulesNoOne": "Aucune règle. Ajoutez une règle en utilisant le formulaire.",
+ "rulesOrder": "Les règles sont évaluées par priorité dans l'ordre croissant.",
+ "rulesSubmit": "Enregistrer les règles",
+ "resourceErrorCreate": "Erreur lors de la création de la ressource",
+ "resourceErrorCreateDescription": "Une erreur s'est produite lors de la création de la ressource",
+ "resourceErrorCreateMessage": "Erreur lors de la création de la ressource :",
+ "resourceErrorCreateMessageDescription": "Une erreur inattendue s'est produite",
+ "sitesErrorFetch": "Erreur lors de la récupération des sites",
+ "sitesErrorFetchDescription": "Une erreur s'est produite lors de la récupération des sites",
+ "domainsErrorFetch": "Erreur lors de la récupération des domaines",
+ "domainsErrorFetchDescription": "Une erreur s'est produite lors de la récupération des domaines",
+ "none": "Aucun",
+ "unknown": "Inconnu",
+ "resources": "Ressources",
+ "resourcesDescription": "Les ressources sont des proxys vers des applications exécutées sur votre réseau privé. Créez une ressource pour tout service HTTP/HTTPS ou TCP/UDP brut sur votre réseau privé. Chaque ressource doit être connectée à un site pour permettre une connectivité privée et sécurisée via un tunnel WireGuard chiffré.",
+ "resourcesWireGuardConnect": "Connectivité sécurisée avec chiffrement WireGuard",
+ "resourcesMultipleAuthenticationMethods": "Configurer plusieurs méthodes d'authentification",
+ "resourcesUsersRolesAccess": "Contrôle d'accès basé sur les utilisateurs et les rôles",
+ "resourcesErrorUpdate": "Échec de la bascule de la ressource",
+ "resourcesErrorUpdateDescription": "Une erreur s'est produite lors de la mise à jour de la ressource",
+ "access": "Accès",
+ "shareLink": "Lien de partage {resource}",
+ "resourceSelect": "Sélectionner une ressource",
+ "shareLinks": "Liens de partage",
+ "share": "Liens partageables",
+ "shareDescription2": "Créez des liens partageables vers vos ressources. Les liens fournissent un accès temporaire ou illimité à votre ressource. Vous pouvez configurer la durée d'expiration du lien lors de sa création.",
+ "shareEasyCreate": "Facile à créer et à partager",
+ "shareConfigurableExpirationDuration": "Durée d'expiration configurable",
+ "shareSecureAndRevocable": "Sécurisé et révocable",
+ "nameMin": "Le nom doit contenir au moins {len} caractères.",
+ "nameMax": "Le nom ne doit pas dépasser {len} caractères.",
+ "sitesConfirmCopy": "Veuillez confirmer que vous avez copié la configuration.",
+ "unknownCommand": "Commande inconnue",
+ "newtErrorFetchReleases": "Échec de la récupération des informations de version : {err}",
+ "newtErrorFetchLatest": "Erreur lors de la récupération de la dernière version : {err}",
+ "newtEndpoint": "Point de terminaison Newt",
+ "newtId": "ID Newt",
+ "newtSecretKey": "Clé secrète Newt",
+ "architecture": "Architecture",
+ "sites": "Sites",
+ "siteWgAnyClients": "Utilisez n'importe quel client WireGuard pour vous connecter. Vous devrez adresser vos ressources internes en utilisant l'IP du pair.",
+ "siteWgCompatibleAllClients": "Compatible avec tous les clients WireGuard",
+ "siteWgManualConfigurationRequired": "Configuration manuelle requise",
+ "userErrorNotAdminOrOwner": "L'utilisateur n'est pas un administrateur ou un propriétaire",
+ "pangolinSettings": "Paramètres - Pangolin",
+ "accessRoleYour": "Votre rôle :",
+ "accessRoleSelect2": "Sélectionner un rôle",
+ "accessUserSelect": "Sélectionner un utilisateur",
+ "otpEmailEnter": "Entrer un e-mail",
+ "otpEmailEnterDescription": "Appuyez sur Entrée pour ajouter un e-mail après l'avoir saisi dans le champ.",
+ "otpEmailErrorInvalid": "Adresse e-mail invalide. Le caractère générique (*) doit être la partie locale entière.",
+ "otpEmailSmtpRequired": "SMTP requis",
+ "otpEmailSmtpRequiredDescription": "Le SMTP doit être activé sur le serveur pour utiliser l'authentification par mot de passe à usage unique.",
+ "otpEmailTitle": "Mots de passe à usage unique",
+ "otpEmailTitleDescription": "Exiger une authentification par e-mail pour l'accès aux ressources",
+ "otpEmailWhitelist": "Liste blanche des e-mails",
+ "otpEmailWhitelistList": "E-mails sur liste blanche",
+ "otpEmailWhitelistListDescription": "Seuls les utilisateurs avec ces adresses e-mail pourront accéder à cette ressource. Ils devront saisir un mot de passe à usage unique envoyé à leur e-mail. Les caractères génériques (*@example.com) peuvent être utilisés pour autoriser n'importe quelle adresse e-mail d'un domaine.",
+ "otpEmailWhitelistSave": "Enregistrer la liste blanche",
+ "passwordAdd": "Ajouter un mot de passe",
+ "passwordRemove": "Supprimer le mot de passe",
+ "pincodeAdd": "Ajouter un code PIN",
+ "pincodeRemove": "Supprimer le code PIN",
+ "resourceAuthMethods": "Méthodes d'authentification",
+ "resourceAuthMethodsDescriptions": "Permettre l'accès à la ressource via des méthodes d'authentification supplémentaires",
+ "resourceAuthSettingsSave": "Enregistré avec succès",
+ "resourceAuthSettingsSaveDescription": "Les paramètres d'authentification ont été enregistrés",
+ "resourceErrorAuthFetch": "Échec de la récupération des données",
+ "resourceErrorAuthFetchDescription": "Une erreur s'est produite lors de la récupération des données",
+ "resourceErrorPasswordRemove": "Erreur lors de la suppression du mot de passe de la ressource",
+ "resourceErrorPasswordRemoveDescription": "Une erreur s'est produite lors de la suppression du mot de passe de la ressource",
+ "resourceErrorPasswordSetup": "Erreur lors de la configuration du mot de passe de la ressource",
+ "resourceErrorPasswordSetupDescription": "Une erreur s'est produite lors de la configuration du mot de passe de la ressource",
+ "resourceErrorPincodeRemove": "Erreur lors de la suppression du code PIN de la ressource",
+ "resourceErrorPincodeRemoveDescription": "Une erreur s'est produite lors de la suppression du code PIN de la ressource",
+ "resourceErrorPincodeSetup": "Erreur lors de la configuration du code PIN de la ressource",
+ "resourceErrorPincodeSetupDescription": "Une erreur s'est produite lors de la configuration du code PIN de la ressource",
+ "resourceErrorUsersRolesSave": "Échec de la définition des rôles",
+ "resourceErrorUsersRolesSaveDescription": "Une erreur s'est produite lors de la définition des rôles",
+ "resourceErrorWhitelistSave": "Échec de l'enregistrement de la liste blanche",
+ "resourceErrorWhitelistSaveDescription": "Une erreur s'est produite lors de l'enregistrement de la liste blanche",
+ "resourcePasswordSubmit": "Activer la protection par mot de passe",
+ "resourcePasswordRemove": "Mot de passe de la ressource supprimé",
+ "resourcePasswordRemoveDescription": "Le mot de passe de la ressource a été supprimé avec succès",
+ "resourcePasswordSetup": "Mot de passe de la ressource défini",
+ "resourcePasswordSetupDescription": "Le mot de passe de la ressource a été défini avec succès",
+ "resourcePasswordSetupTitle": "Définir le mot de passe",
+ "resourcePasswordSetupTitleDescription": "Définir un mot de passe pour protéger cette ressource",
+ "resourcePincode": "Code PIN",
+ "resourcePincodeSubmit": "Activer la protection par code PIN",
+ "resourcePincodeProtection": "Protection par code PIN {status}",
+ "resourcePincodeRemove": "Code PIN de la ressource supprimé",
+ "resourcePincodeRemoveDescription": "Le code PIN de la ressource a été supprimé avec succès",
+ "resourcePincodeSetup": "Code PIN de la ressource défini",
+ "resourcePincodeSetupDescription": "Le code PIN de la ressource a été défini avec succès",
+ "resourcePincodeSetupTitle": "Définir le code PIN",
+ "resourcePincodeSetupTitleDescription": "Définir un code PIN pour protéger cette ressource",
+ "resourceRoleDescription": "Les administrateurs peuvent toujours accéder à cette ressource.",
+ "resourceUsersRoles": "Utilisateurs et rôles",
+ "resourceUsersRolesDescription": "Configurer quels utilisateurs et rôles peuvent visiter cette ressource",
+ "resourceUsersRolesSubmit": "Enregistrer les utilisateurs et les rôles",
+ "resourceWhitelistSave": "Enregistré avec succès",
+ "resourceWhitelistSaveDescription": "Les paramètres de la liste blanche ont été enregistrés",
+ "ssoUse": "Utiliser la SSO de la plateforme",
+ "ssoUseDescription": "Les utilisateurs existants n'auront à se connecter qu'une seule fois pour toutes les ressources qui ont cette option activée.",
+ "proxyErrorInvalidPort": "Numéro de port invalide",
+ "subdomainErrorInvalid": "Sous-domaine invalide",
+ "domainErrorFetch": "Erreur lors de la récupération des domaines",
+ "domainErrorFetchDescription": "Une erreur s'est produite lors de la récupération des domaines",
+ "resourceErrorUpdate": "Échec de la mise à jour de la ressource",
+ "resourceErrorUpdateDescription": "Une erreur s'est produite lors de la mise à jour de la ressource",
+ "resourceUpdated": "Ressource mise à jour",
+ "resourceUpdatedDescription": "La ressource a été mise à jour avec succès",
+ "resourceErrorTransfer": "Échec du transfert de la ressource",
+ "resourceErrorTransferDescription": "Une erreur s'est produite lors du transfert de la ressource",
+ "resourceTransferred": "Ressource transférée",
+ "resourceTransferredDescription": "La ressource a été transférée avec succès",
+ "resourceErrorToggle": "Échec de la modification de l'état de la ressource",
+ "resourceErrorToggleDescription": "Une erreur s'est produite lors de la mise à jour de la ressource",
+ "resourceVisibilityTitle": "Visibilité",
+ "resourceVisibilityTitleDescription": "Activer ou désactiver complètement la visibilité de la ressource",
+ "resourceGeneral": "Paramètres généraux",
+ "resourceGeneralDescription": "Configurer les paramètres généraux de cette ressource",
+ "resourceEnable": "Activer la ressource",
+ "resourceTransfer": "Transférer la ressource",
+ "resourceTransferDescription": "Transférer cette ressource vers un autre site",
+ "resourceTransferSubmit": "Transférer la ressource",
+ "siteDestination": "Site de destination",
+ "searchSites": "Rechercher des sites",
+ "accessRoleCreate": "Créer un rôle",
+ "accessRoleCreateDescription": "Créer un nouveau rôle pour regrouper les utilisateurs et gérer leurs permissions.",
+ "accessRoleCreateSubmit": "Créer un rôle",
+ "accessRoleCreated": "Rôle créé",
+ "accessRoleCreatedDescription": "Le rôle a été créé avec succès.",
+ "accessRoleErrorCreate": "Échec de la création du rôle",
+ "accessRoleErrorCreateDescription": "Une erreur s'est produite lors de la création du rôle.",
+ "accessRoleErrorNewRequired": "Un nouveau rôle est requis",
+ "accessRoleErrorRemove": "Échec de la suppression du rôle",
+ "accessRoleErrorRemoveDescription": "Une erreur s'est produite lors de la suppression du rôle.",
+ "accessRoleName": "Nom du rôle",
+ "accessRoleQuestionRemove": "Vous êtes sur le point de supprimer le rôle {name}. Cette action est irréversible.",
+ "accessRoleRemove": "Supprimer le rôle",
+ "accessRoleRemoveDescription": "Retirer un rôle de l'organisation",
+ "accessRoleRemoveSubmit": "Supprimer le rôle",
+ "accessRoleRemoved": "Rôle supprimé",
+ "accessRoleRemovedDescription": "Le rôle a été supprimé avec succès.",
+ "accessRoleRequiredRemove": "Avant de supprimer ce rôle, veuillez sélectionner un nouveau rôle pour transférer les membres existants.",
+ "manage": "Gérer",
+ "sitesNotFound": "Aucun site trouvé."
}
diff --git a/messages/it-IT.json b/messages/it-IT.json
index 9ff0ea63..eb62a660 100644
--- a/messages/it-IT.json
+++ b/messages/it-IT.json
@@ -54,8 +54,6 @@
"siteCreateDescription2": "Segui i passaggi qui sotto per creare e collegare un nuovo sito",
"siteCreateDescription": "Crea un nuovo sito per iniziare a connettere le tue risorse",
"close": "Chiudi",
- "siteNameMin": "Il nome deve contenere almeno 2 caratteri.",
- "siteNameMax": "Il nome non deve essere più lungo di 30 caratteri.",
"siteErrorCreate": "Errore nella creazione del sito",
"siteErrorCreateKeyPair": "Coppia di chiavi o valori predefiniti del sito non trovati",
"siteErrorCreateDefaults": "Predefiniti del sito non trovati",
@@ -71,7 +69,7 @@
"dockerRun": "Corsa Docker",
"siteLearnLocal": "I siti locali non tunnel, saperne di più",
"siteConfirmCopy": "Ho copiato la configurazione",
- "searchSites": "Cerca siti...",
+ "searchSitesProgress": "Cerca siti...",
"siteAdd": "Aggiungi Sito",
"siteInstallNewt": "Installa Newt",
"siteInstallNewtDescription": "Get Newt running on your system",
@@ -111,7 +109,7 @@
"shareErrorDelete": "Impossibile eliminare il link",
"shareErrorDeleteMessage": "Si è verificato un errore durante l'eliminazione del link",
"shareDeleted": "Link eliminato",
- "shareDeletedDesciption": "Il link è stato eliminato",
+ "shareDeletedDescription": "Il link è stato eliminato",
"shareTokenDescription": "Il token di accesso può essere passato in due modi: come parametro di interrogazione o nelle intestazioni della richiesta. Questi devono essere passati dal client su ogni richiesta di accesso autenticato.",
"accessToken": "Token Di Accesso",
"usageExamples": "Esempi Di Utilizzo",
@@ -234,7 +232,7 @@
"username": "Username",
"identityProvider": "Provider Di Identità",
"role": "Ruolo",
- "accessRoleNameRequired": "Il nome è obbligatorio",
+ "nameRequired": "Il nome è obbligatorio",
"accessRolesManage": "Gestisci Ruoli",
"accessRolesDescription": "Configura i ruoli per gestire l'accesso alla tua organizzazione",
"accessRolesSearch": "Ricerca ruoli...",
@@ -252,8 +250,6 @@
"years": "Anni",
"day": "{count, plural, =1 {# giorno} other {# giorni}}",
"apiKeysTitle": "Informazioni Chiave API",
- "apiKeysNameMin": "Il nome deve contenere almeno 2 caratteri.",
- "apiKeysNameMax": "Il nome non deve essere più lungo di 255 caratteri.",
"apiKeysConfirmCopy2": "Devi confermare di aver copiato la chiave API.",
"apiKeysErrorCreate": "Errore nella creazione della chiave API",
"apiKeysErrorSetPermission": "Errore nell'impostazione dei permessi",
@@ -382,5 +378,319 @@
"inviteValidityPeriodSelect": "Seleziona periodo di validità",
"inviteRegenerateMessage": "L'invito è stato rigenerato. L'utente deve accedere al link qui sotto per accettare l'invito.",
"inviteRegenerateButton": "Rigenera",
- "expiresAt": "Scade Il"
+ "expiresAt": "Scade Il",
+ "accessRoleUnknown": "Ruolo Sconosciuto",
+ "placeholder": "Segnaposto",
+ "userErrorOrgRemove": "Impossibile rimuovere l'utente",
+ "userErrorOrgRemoveDescription": "Si è verificato un errore durante la rimozione dell'utente.",
+ "userOrgRemoved": "Utente rimosso",
+ "userOrgRemovedDescription": "L'utente {email} è stato rimosso dall'organizzazione.",
+ "userQuestionOrgRemove": "Sei sicuro di voler rimuovere {email} dall'organizzazione?",
+ "userMessageOrgRemove": "Una volta rimosso, questo utente non avrà più accesso all'organizzazione. Puoi sempre reinvitarlo in seguito, ma dovrà accettare nuovamente l'invito.",
+ "userMessageOrgConfirm": "Per confermare, digita il nome dell'utente qui sotto.",
+ "userRemoveOrgConfirm": "Conferma Rimozione Utente",
+ "userRemoveOrg": "Rimuovi Utente dall'Organizzazione",
+ "users": "Utenti",
+ "accessRoleMember": "Membro",
+ "accessRoleOwner": "Proprietario",
+ "userConfirmed": "Confermato",
+ "idpNameInternal": "Interno",
+ "emailInvalid": "Indirizzo email non valido",
+ "inviteValidityDuration": "Seleziona una durata",
+ "accessRoleSelectPlease": "Seleziona un ruolo",
+ "usernameRequired": "Username richiesto",
+ "idpSelectPlease": "Seleziona un provider di identità",
+ "idpGenericOidc": "Provider OAuth2/OIDC generico.",
+ "accessRoleErrorFetch": "Impossibile recuperare i ruoli",
+ "accessRoleErrorFetchDescription": "Si è verificato un errore durante il recupero dei ruoli",
+ "idpErrorFetch": "Impossibile recuperare i provider di identità",
+ "idpErrorFetchDescription": "Si è verificato un errore durante il recupero dei provider di identità",
+ "userErrorExists": "Utente Già Esistente",
+ "userErrorExistsDescription": "Questo utente è già membro dell'organizzazione.",
+ "inviteError": "Impossibile invitare l'utente",
+ "inviteErrorDescription": "Si è verificato un errore durante l'invito dell'utente",
+ "userInvited": "Utente invitato",
+ "userInvitedDescription": "L'utente è stato invitato con successo.",
+ "userErrorCreate": "Impossibile creare l'utente",
+ "userErrorCreateDescription": "Si è verificato un errore durante la creazione dell'utente",
+ "userCreated": "Utente creato",
+ "userCreatedDescription": "L'utente è stato creato con successo.",
+ "userTypeInternal": "Utente Interno",
+ "userTypeInternalDescription": "Invita un utente a unirsi direttamente alla tua organizzazione.",
+ "userTypeExternal": "Utente Esterno",
+ "userTypeExternalDescription": "Crea un utente con un provider di identità esterno.",
+ "accessUserCreateDescription": "Segui i passaggi seguenti per creare un nuovo utente",
+ "userSeeAll": "Vedi Tutti gli Utenti",
+ "userTypeTitle": "Tipo di Utente",
+ "userTypeDescription": "Determina come vuoi creare l'utente",
+ "userSettings": "Informazioni Utente",
+ "userSettingsDescription": "Inserisci i dettagli per il nuovo utente",
+ "inviteEmailSent": "Invia email di invito all'utente",
+ "inviteValid": "Valido Per",
+ "selectDuration": "Seleziona durata",
+ "accessRoleSelect": "Seleziona ruolo",
+ "inviteEmailSentDescription": "È stata inviata un'email all'utente con il link di accesso qui sotto. Devono accedere al link per accettare l'invito.",
+ "inviteSentDescription": "L'utente è stato invitato. Deve accedere al link qui sotto per accettare l'invito.",
+ "inviteExpiresIn": "L'invito scadrà tra {days, plural, =1 {# giorno} other {# giorni}}.",
+ "idpTitle": "Provider di Identità",
+ "idpSelect": "Seleziona il provider di identità per l'utente esterno",
+ "idpNotConfigured": "Nessun provider di identità configurato. Configura un provider di identità prima di creare utenti esterni.",
+ "usernameUniq": "Questo deve corrispondere all'username univoco esistente nel provider di identità selezionato.",
+ "emailOptional": "Email (Opzionale)",
+ "nameOptional": "Nome (Opzionale)",
+ "accessControls": "Controlli di Accesso",
+ "userDescription2": "Gestisci le impostazioni di questo utente",
+ "accessRoleErrorAdd": "Impossibile aggiungere l'utente al ruolo",
+ "accessRoleErrorAddDescription": "Si è verificato un errore durante l'aggiunta dell'utente al ruolo.",
+ "userSaved": "Utente salvato",
+ "userSavedDescription": "L'utente è stato aggiornato.",
+ "accessControlsDescription": "Gestisci cosa questo utente può accedere e fare nell'organizzazione",
+ "accessControlsSubmit": "Salva Controlli di Accesso",
+ "roles": "Ruoli",
+ "accessUsersRoles": "Gestisci Utenti e Ruoli",
+ "accessUsersRolesDescription": "Invita utenti e aggiungili ai ruoli per gestire l'accesso alla tua organizzazione",
+ "key": "Chiave",
+ "createdAt": "Creato Il",
+ "proxyErrorInvalidHeader": "Valore dell'intestazione Host personalizzata non valido. Usa il formato nome dominio o salva vuoto per rimuovere l'intestazione Host personalizzata.",
+ "proxyErrorTls": "Nome Server TLS non valido. Usa il formato nome dominio o salva vuoto per rimuovere il Nome Server TLS.",
+ "targetErrorFetch": "Impossibile recuperare i target",
+ "targetErrorFetchDescription": "Si è verificato un errore durante il recupero dei target",
+ "siteErrorFetch": "Impossibile recuperare la risorsa",
+ "siteErrorFetchDescription": "Si è verificato un errore durante il recupero della risorsa",
+ "targetErrorDuplicate": "Target duplicato",
+ "targetErrorDuplicateDescription": "Esiste già un target con queste impostazioni",
+ "targetWireGuardErrorInvalidIp": "IP target non valido",
+ "targetWireGuardErrorInvalidIpDescription": "L'IP target deve essere all'interno della subnet del sito",
+ "targetsUpdated": "Target aggiornati",
+ "targetsUpdatedDescription": "Target e impostazioni aggiornati con successo",
+ "targetsErrorUpdate": "Impossibile aggiornare i target",
+ "targetsErrorUpdateDescription": "Si è verificato un errore durante l'aggiornamento dei target",
+ "targetTlsUpdate": "Impostazioni TLS aggiornate",
+ "targetTlsUpdateDescription": "Le tue impostazioni TLS sono state aggiornate con successo",
+ "targetErrorTlsUpdate": "Impossibile aggiornare le impostazioni TLS",
+ "targetErrorTlsUpdateDescription": "Si è verificato un errore durante l'aggiornamento delle impostazioni TLS",
+ "proxyUpdated": "Impostazioni proxy aggiornate",
+ "proxyUpdatedDescription": "Le tue impostazioni proxy sono state aggiornate con successo",
+ "proxyErrorUpdate": "Impossibile aggiornare le impostazioni proxy",
+ "proxyErrorUpdateDescription": "Si è verificato un errore durante l'aggiornamento delle impostazioni proxy",
+ "targetAddr": "IP / Nome host",
+ "targetPort": "Porta",
+ "targetProtocol": "Protocollo",
+ "targetTlsSettings": "Impostazioni HTTPS e TLS",
+ "targetTlsSettingsDescription": "Configura le impostazioni TLS per la tua risorsa",
+ "targetTlsSettingsAdvanced": "Impostazioni TLS Avanzate",
+ "targetTlsSni": "Nome Server TLS (SNI)",
+ "targetTlsSniDescription": "Il Nome Server TLS da usare per SNI. Lascia vuoto per usare quello predefinito.",
+ "targetTlsSubmit": "Salva Impostazioni",
+ "targets": "Configurazione Target",
+ "targetsDescription": "Configura i target per instradare il traffico ai tuoi servizi",
+ "targetStickySessions": "Abilita Sessioni Persistenti",
+ "targetStickySessionsDescription": "Mantieni le connessioni sullo stesso target backend per l'intera sessione.",
+ "methodSelect": "Seleziona metodo",
+ "targetSubmit": "Aggiungi Target",
+ "targetNoOne": "Nessun target. Aggiungi un target usando il modulo.",
+ "targetNoOneDescription": "L'aggiunta di più di un target abiliterà il bilanciamento del carico.",
+ "targetsSubmit": "Salva Target",
+ "proxyAdditional": "Impostazioni Proxy Aggiuntive",
+ "proxyAdditionalDescription": "Configura come la tua risorsa gestisce le impostazioni proxy",
+ "proxyCustomHeader": "Intestazione Host Personalizzata",
+ "proxyCustomHeaderDescription": "L'intestazione host da impostare durante il proxy delle richieste. Lascia vuoto per usare quella predefinita.",
+ "proxyAdditionalSubmit": "Salva Impostazioni Proxy",
+ "subnetMaskErrorInvalid": "Maschera di sottorete non valida. Deve essere tra 0 e 32.",
+ "ipAddressErrorInvalidFormat": "Formato indirizzo IP non valido",
+ "ipAddressErrorInvalidOctet": "Ottetto indirizzo IP non valido",
+ "path": "Percorso",
+ "ipAddressRange": "Intervallo IP",
+ "rulesErrorFetch": "Impossibile recuperare le regole",
+ "rulesErrorFetchDescription": "Si è verificato un errore durante il recupero delle regole",
+ "rulesErrorDuplicate": "Regola duplicata",
+ "rulesErrorDuplicateDescription": "Esiste già una regola con queste impostazioni",
+ "rulesErrorInvalidIpAddressRange": "CIDR non valido",
+ "rulesErrorInvalidIpAddressRangeDescription": "Inserisci un valore CIDR valido",
+ "rulesErrorInvalidUrl": "Percorso URL non valido",
+ "rulesErrorInvalidUrlDescription": "Inserisci un valore di percorso URL valido",
+ "rulesErrorInvalidIpAddress": "IP non valido",
+ "rulesErrorInvalidIpAddressDescription": "Inserisci un indirizzo IP valido",
+ "rulesErrorUpdate": "Impossibile aggiornare le regole",
+ "rulesErrorUpdateDescription": "Si è verificato un errore durante l'aggiornamento delle regole",
+ "rulesUpdated": "Abilita Regole",
+ "rulesUpdatedDescription": "La valutazione delle regole è stata aggiornata",
+ "rulesMatchIpAddressRangeDescription": "Inserisci un indirizzo in formato CIDR (es. 103.21.244.0/22)",
+ "rulesMatchIpAddress": "Inserisci un indirizzo IP (es. 103.21.244.12)",
+ "rulesMatchUrl": "Inserisci un percorso URL o pattern (es. /api/v1/todos o /api/v1/*)",
+ "rulesErrorInvalidPriority": "Priorità Non Valida",
+ "rulesErrorInvalidPriorityDescription": "Inserisci una priorità valida",
+ "rulesErrorDuplicatePriority": "Priorità Duplicate",
+ "rulesErrorDuplicatePriorityDescription": "Inserisci priorità uniche",
+ "ruleUpdated": "Regole aggiornate",
+ "ruleUpdatedDescription": "Regole aggiornate con successo",
+ "ruleErrorUpdate": "Operazione fallita",
+ "ruleErrorUpdateDescription": "Si è verificato un errore durante il salvataggio",
+ "rulesPriority": "Priorità",
+ "rulesAction": "Azione",
+ "rulesMatchType": "Tipo di Corrispondenza",
+ "value": "Valore",
+ "rulesAbout": "Informazioni sulle Regole",
+ "rulesAboutDescription": "Le regole ti permettono di controllare l'accesso alla tua risorsa in base a una serie di criteri. Puoi creare regole per consentire o negare l'accesso basato su indirizzo IP o percorso URL.",
+ "rulesActions": "Azioni",
+ "rulesActionAlwaysAllow": "Consenti Sempre: Ignora tutti i metodi di autenticazione",
+ "rulesActionAlwaysDeny": "Nega Sempre: Blocca tutte le richieste; nessuna autenticazione può essere tentata",
+ "rulesMatchCriteria": "Criteri di Corrispondenza",
+ "rulesMatchCriteriaIpAddress": "Corrisponde a un indirizzo IP specifico",
+ "rulesMatchCriteriaIpAddressRange": "Corrisponde a un intervallo di indirizzi IP in notazione CIDR",
+ "rulesMatchCriteriaUrl": "Corrisponde a un percorso URL o pattern",
+ "rulesEnable": "Abilita Regole",
+ "rulesEnableDescription": "Abilita o disabilita la valutazione delle regole per questa risorsa",
+ "rulesResource": "Configurazione Regole Risorsa",
+ "rulesResourceDescription": "Configura le regole per controllare l'accesso alla tua risorsa",
+ "ruleSubmit": "Aggiungi Regola",
+ "rulesNoOne": "Nessuna regola. Aggiungi una regola usando il modulo.",
+ "rulesOrder": "Le regole sono valutate per priorità in ordine crescente.",
+ "rulesSubmit": "Salva Regole",
+ "resourceErrorCreate": "Errore nella creazione della risorsa",
+ "resourceErrorCreateDescription": "Si è verificato un errore durante la creazione della risorsa",
+ "resourceErrorCreateMessage": "Errore nella creazione della risorsa:",
+ "resourceErrorCreateMessageDescription": "Si è verificato un errore imprevisto",
+ "sitesErrorFetch": "Errore nel recupero dei siti",
+ "sitesErrorFetchDescription": "Si è verificato un errore durante il recupero dei siti",
+ "domainsErrorFetch": "Errore nel recupero dei domini",
+ "domainsErrorFetchDescription": "Si è verificato un errore durante il recupero dei domini",
+ "none": "Nessuno",
+ "unknown": "Sconosciuto",
+ "resources": "Risorse",
+ "resourcesDescription": "Le risorse sono proxy per le applicazioni in esecuzione sulla tua rete privata. Crea una risorsa per qualsiasi servizio HTTP/HTTPS o TCP/UDP raw sulla tua rete privata. Ogni risorsa deve essere collegata a un sito per abilitare la connettività privata e sicura attraverso un tunnel WireGuard crittografato.",
+ "resourcesWireGuardConnect": "Connettività sicura con crittografia WireGuard",
+ "resourcesMultipleAuthenticationMethods": "Configura molteplici metodi di autenticazione",
+ "resourcesUsersRolesAccess": "Controllo accessi basato su utenti e ruoli",
+ "resourcesErrorUpdate": "Impossibile attivare/disattivare la risorsa",
+ "resourcesErrorUpdateDescription": "Si è verificato un errore durante l'aggiornamento della risorsa",
+ "access": "Accesso",
+ "shareLink": "Link di Condivisione {resource}",
+ "resourceSelect": "Seleziona risorsa",
+ "shareLinks": "Link di Condivisione",
+ "share": "Link Condivisibili",
+ "shareDescription2": "Crea link condivisibili per le tue risorse. I link forniscono accesso temporaneo o illimitato alla tua risorsa. Puoi configurare la durata di scadenza del link quando lo crei.",
+ "shareEasyCreate": "Facile da creare e condividere",
+ "shareConfigurableExpirationDuration": "Durata di scadenza configurabile",
+ "shareSecureAndRevocable": "Sicuro e revocabile",
+ "nameMin": "Il nome deve essere di almeno {len} caratteri.",
+ "nameMax": "Il nome non deve superare i {len} caratteri.",
+ "sitesConfirmCopy": "Conferma di aver copiato la configurazione.",
+ "unknownCommand": "Comando sconosciuto",
+ "newtErrorFetchReleases": "Impossibile recuperare le informazioni sulla versione: {err}",
+ "newtErrorFetchLatest": "Errore nel recupero dell'ultima versione: {err}",
+ "newtEndpoint": "Endpoint Newt",
+ "newtId": "ID Newt",
+ "newtSecretKey": "Chiave Segreta Newt",
+ "architecture": "Architettura",
+ "sites": "Siti",
+ "siteWgAnyClients": "Usa qualsiasi client WireGuard per connetterti. Dovrai indirizzare le tue risorse interne usando l'IP del peer.",
+ "siteWgCompatibleAllClients": "Compatibile con tutti i client WireGuard",
+ "siteWgManualConfigurationRequired": "Configurazione manuale richiesta",
+ "userErrorNotAdminOrOwner": "L'utente non è un amministratore o proprietario",
+ "pangolinSettings": "Impostazioni - Pangolin",
+ "accessRoleYour": "Il tuo ruolo:",
+ "accessRoleSelect2": "Seleziona un ruolo",
+ "accessUserSelect": "Seleziona un utente",
+ "otpEmailEnter": "Inserisci un'email",
+ "otpEmailEnterDescription": "Premi invio per aggiungere un'email dopo averla digitata nel campo di input.",
+ "otpEmailErrorInvalid": "Indirizzo email non valido. Il carattere jolly (*) deve essere l'intera parte locale.",
+ "otpEmailSmtpRequired": "SMTP Richiesto",
+ "otpEmailSmtpRequiredDescription": "SMTP deve essere abilitato sul server per utilizzare l'autenticazione con password monouso.",
+ "otpEmailTitle": "Password Monouso",
+ "otpEmailTitleDescription": "Richiedi autenticazione basata su email per l'accesso alle risorse",
+ "otpEmailWhitelist": "Lista Autorizzazioni Email",
+ "otpEmailWhitelistList": "Email Autorizzate",
+ "otpEmailWhitelistListDescription": "Solo gli utenti con questi indirizzi email potranno accedere a questa risorsa. Verrà richiesto loro di inserire una password monouso inviata alla loro email. I caratteri jolly (*@example.com) possono essere utilizzati per consentire qualsiasi indirizzo email da un dominio.",
+ "otpEmailWhitelistSave": "Salva Lista Autorizzazioni",
+ "passwordAdd": "Aggiungi Password",
+ "passwordRemove": "Rimuovi Password",
+ "pincodeAdd": "Aggiungi Codice PIN",
+ "pincodeRemove": "Rimuovi Codice PIN",
+ "resourceAuthMethods": "Metodi di Autenticazione",
+ "resourceAuthMethodsDescriptions": "Consenti l'accesso alla risorsa tramite metodi di autenticazione aggiuntivi",
+ "resourceAuthSettingsSave": "Salvato con successo",
+ "resourceAuthSettingsSaveDescription": "Le impostazioni di autenticazione sono state salvate",
+ "resourceErrorAuthFetch": "Impossibile recuperare i dati",
+ "resourceErrorAuthFetchDescription": "Si è verificato un errore durante il recupero dei dati",
+ "resourceErrorPasswordRemove": "Errore nella rimozione della password della risorsa",
+ "resourceErrorPasswordRemoveDescription": "Si è verificato un errore durante la rimozione della password della risorsa",
+ "resourceErrorPasswordSetup": "Errore nell'impostazione della password della risorsa",
+ "resourceErrorPasswordSetupDescription": "Si è verificato un errore durante l'impostazione della password della risorsa",
+ "resourceErrorPincodeRemove": "Errore nella rimozione del codice PIN della risorsa",
+ "resourceErrorPincodeRemoveDescription": "Si è verificato un errore durante la rimozione del codice PIN della risorsa",
+ "resourceErrorPincodeSetup": "Errore nell'impostazione del codice PIN della risorsa",
+ "resourceErrorPincodeSetupDescription": "Si è verificato un errore durante l'impostazione del codice PIN della risorsa",
+ "resourceErrorUsersRolesSave": "Impossibile impostare i ruoli",
+ "resourceErrorUsersRolesSaveDescription": "Si è verificato un errore durante l'impostazione dei ruoli",
+ "resourceErrorWhitelistSave": "Impossibile salvare la lista autorizzazioni",
+ "resourceErrorWhitelistSaveDescription": "Si è verificato un errore durante il salvataggio della lista autorizzazioni",
+ "resourcePasswordSubmit": "Abilita Protezione Password",
+ "resourcePasswordRemove": "Password della risorsa rimossa",
+ "resourcePasswordRemoveDescription": "La password della risorsa è stata rimossa con successo",
+ "resourcePasswordSetup": "Password della risorsa impostata",
+ "resourcePasswordSetupDescription": "La password della risorsa è stata impostata con successo",
+ "resourcePasswordSetupTitle": "Imposta Password",
+ "resourcePasswordSetupTitleDescription": "Imposta una password per proteggere questa risorsa",
+ "resourcePincode": "Codice PIN",
+ "resourcePincodeSubmit": "Abilita Protezione Codice PIN",
+ "resourcePincodeProtection": "Protezione Codice PIN {status}",
+ "resourcePincodeRemove": "Codice PIN della risorsa rimosso",
+ "resourcePincodeRemoveDescription": "Il codice PIN della risorsa è stato rimosso con successo",
+ "resourcePincodeSetup": "Codice PIN della risorsa impostato",
+ "resourcePincodeSetupDescription": "Il codice PIN della risorsa è stato impostato con successo",
+ "resourcePincodeSetupTitle": "Imposta Codice PIN",
+ "resourcePincodeSetupTitleDescription": "Imposta un codice PIN per proteggere questa risorsa",
+ "resourceRoleDescription": "Gli amministratori possono sempre accedere a questa risorsa.",
+ "resourceUsersRoles": "Utenti e Ruoli",
+ "resourceUsersRolesDescription": "Configura quali utenti e ruoli possono visitare questa risorsa",
+ "resourceUsersRolesSubmit": "Salva Utenti e Ruoli",
+ "resourceWhitelistSave": "Salvato con successo",
+ "resourceWhitelistSaveDescription": "Le impostazioni della lista autorizzazioni sono state salvate",
+ "ssoUse": "Usa SSO della Piattaforma",
+ "ssoUseDescription": "Gli utenti esistenti dovranno accedere solo una volta per tutte le risorse che hanno questa opzione abilitata.",
+ "proxyErrorInvalidPort": "Numero porta non valido",
+ "subdomainErrorInvalid": "Sottodominio non valido",
+ "domainErrorFetch": "Errore nel recupero dei domini",
+ "domainErrorFetchDescription": "Si è verificato un errore durante il recupero dei domini",
+ "resourceErrorUpdate": "Impossibile aggiornare la risorsa",
+ "resourceErrorUpdateDescription": "Si è verificato un errore durante l'aggiornamento della risorsa",
+ "resourceUpdated": "Risorsa aggiornata",
+ "resourceUpdatedDescription": "La risorsa è stata aggiornata con successo",
+ "resourceErrorTransfer": "Impossibile trasferire la risorsa",
+ "resourceErrorTransferDescription": "Si è verificato un errore durante il trasferimento della risorsa",
+ "resourceTransferred": "Risorsa trasferita",
+ "resourceTransferredDescription": "La risorsa è stata trasferita con successo",
+ "resourceErrorToggle": "Impossibile alternare la risorsa",
+ "resourceErrorToggleDescription": "Si è verificato un errore durante l'aggiornamento della risorsa",
+ "resourceVisibilityTitle": "Visibilità",
+ "resourceVisibilityTitleDescription": "Abilita o disabilita completamente la visibilità della risorsa",
+ "resourceGeneral": "Impostazioni Generali",
+ "resourceGeneralDescription": "Configura le impostazioni generali per questa risorsa",
+ "resourceEnable": "Abilita Risorsa",
+ "resourceTransfer": "Trasferisci Risorsa",
+ "resourceTransferDescription": "Trasferisci questa risorsa a un sito diverso",
+ "resourceTransferSubmit": "Trasferisci Risorsa",
+ "siteDestination": "Sito Di Destinazione",
+ "searchSites": "Cerca siti",
+ "accessRoleCreate": "Crea Ruolo",
+ "accessRoleCreateDescription": "Crea un nuovo ruolo per raggruppare gli utenti e gestire i loro permessi.",
+ "accessRoleCreateSubmit": "Crea Ruolo",
+ "accessRoleCreated": "Ruolo creato",
+ "accessRoleCreatedDescription": "Il ruolo è stato creato con successo.",
+ "accessRoleErrorCreate": "Impossibile creare il ruolo",
+ "accessRoleErrorCreateDescription": "Si è verificato un errore durante la creazione del ruolo.",
+ "accessRoleErrorNewRequired": "Nuovo ruolo richiesto",
+ "accessRoleErrorRemove": "Impossibile rimuovere il ruolo",
+ "accessRoleErrorRemoveDescription": "Si è verificato un errore durante la rimozione del ruolo.",
+ "accessRoleName": "Nome Del Ruolo",
+ "accessRoleQuestionRemove": "Stai per eliminare il ruolo {name}. Non puoi annullare questa azione.",
+ "accessRoleRemove": "Rimuovi Ruolo",
+ "accessRoleRemoveDescription": "Rimuovi un ruolo dall'organizzazione",
+ "accessRoleRemoveSubmit": "Rimuovi Ruolo",
+ "accessRoleRemoved": "Ruolo rimosso",
+ "accessRoleRemovedDescription": "Il ruolo è stato rimosso con successo.",
+ "accessRoleRequiredRemove": "Prima di eliminare questo ruolo, seleziona un nuovo ruolo a cui trasferire i membri esistenti.",
+ "manage": "Gestisci",
+ "sitesNotFound": "Nessun sito trovato."
}
diff --git a/messages/pl-PL.json b/messages/pl-PL.json
index 81febe99..d825eb3a 100644
--- a/messages/pl-PL.json
+++ b/messages/pl-PL.json
@@ -54,8 +54,6 @@
"siteCreateDescription2": "Wykonaj poniższe kroki, aby utworzyć i połączyć nową witrynę",
"siteCreateDescription": "Utwórz nową witrynę, aby rozpocząć łączenie zasobów",
"close": "Zamknij",
- "siteNameMin": "Nazwa musi mieć co najmniej 2 znaki.",
- "siteNameMax": "Nazwa nie może przekraczać 30 znaków.",
"siteErrorCreate": "Błąd podczas tworzenia witryny",
"siteErrorCreateKeyPair": "Nie znaleziono pary kluczy lub domyślnych ustawień witryny",
"siteErrorCreateDefaults": "Nie znaleziono domyślnych ustawień witryny",
@@ -71,7 +69,7 @@
"dockerRun": "Uruchom Docker",
"siteLearnLocal": "Lokalne witryny nie tunelowają, dowiedz się więcej",
"siteConfirmCopy": "Skopiowałem konfigurację",
- "searchSites": "Szukaj witryn...",
+ "searchSitesProgress": "Szukaj witryn...",
"siteAdd": "Dodaj witrynę",
"siteInstallNewt": "Zainstaluj Newt",
"siteInstallNewtDescription": "Uruchom Newt w swoim systemie",
@@ -111,7 +109,7 @@
"shareErrorDelete": "Nie udało się usunąć linku",
"shareErrorDeleteMessage": "Wystąpił błąd podczas usuwania linku",
"shareDeleted": "Link usunięty",
- "shareDeletedDesciption": "Link został usunięty",
+ "shareDeletedDescription": "Link został usunięty",
"shareTokenDescription": "Twój token dostępu może być przekazywany na dwa sposoby: jako parametr zapytania lub w nagłówkach żądania. Muszą być przekazywane z klienta na każde żądanie uwierzytelnionego dostępu.",
"accessToken": "Token dostępu",
"usageExamples": "Przykłady użycia",
@@ -234,7 +232,7 @@
"username": "Nazwa użytkownika",
"identityProvider": "Dostawca tożsamości",
"role": "Rola",
- "accessRoleNameRequired": "Nazwa jest wymagana",
+ "nameRequired": "Nazwa jest wymagana",
"accessRolesManage": "Zarządzaj rolami",
"accessRolesDescription": "Skonfiguruj role do zarządzania dostępem do Twojej organizacji",
"accessRolesSearch": "Szukaj ról...",
@@ -252,8 +250,6 @@
"years": "Lata",
"day": "{count, plural, =1 {# dzień} other {# dni}}",
"apiKeysTitle": "Informacje o kluczu API",
- "apiKeysNameMin": "Nazwa musi mieć co najmniej 2 znaki.",
- "apiKeysNameMax": "Nazwa nie może być dłuższa niż 255 znaków.",
"apiKeysConfirmCopy2": "Musisz potwierdzić, że skopiowałeś klucz API.",
"apiKeysErrorCreate": "Błąd podczas tworzenia klucza API",
"apiKeysErrorSetPermission": "Błąd podczas ustawiania uprawnień",
@@ -382,5 +378,319 @@
"inviteValidityPeriodSelect": "Wybierz okres ważności",
"inviteRegenerateMessage": "Zaproszenie zostało ponownie wygenerowane. Użytkownik musi uzyskać dostęp do poniższego linku, aby zaakceptować zaproszenie.",
"inviteRegenerateButton": "Wygeneruj ponownie",
- "expiresAt": "Wygasa w dniu"
+ "expiresAt": "Wygasa w dniu",
+ "accessRoleUnknown": "Nieznana rola",
+ "placeholder": "Symbol zastępczy",
+ "userErrorOrgRemove": "Nie udało się usunąć użytkownika",
+ "userErrorOrgRemoveDescription": "Wystąpił błąd podczas usuwania użytkownika.",
+ "userOrgRemoved": "Użytkownik usunięty",
+ "userOrgRemovedDescription": "Użytkownik {email} został usunięty z organizacji.",
+ "userQuestionOrgRemove": "Czy na pewno chcesz usunąć {email} z organizacji?",
+ "userMessageOrgRemove": "Po usunięciu ten użytkownik nie będzie miał już dostępu do organizacji. Zawsze możesz ponownie go zaprosić później, ale będzie musiał ponownie zaakceptować zaproszenie.",
+ "userMessageOrgConfirm": "Aby potwierdzić, wpisz nazwę użytkownika poniżej.",
+ "userRemoveOrgConfirm": "Potwierdź usunięcie użytkownika",
+ "userRemoveOrg": "Usuń użytkownika z organizacji",
+ "users": "Użytkownicy",
+ "accessRoleMember": "Członek",
+ "accessRoleOwner": "Właściciel",
+ "userConfirmed": "Potwierdzony",
+ "idpNameInternal": "Wewnętrzny",
+ "emailInvalid": "Nieprawidłowy adres email",
+ "inviteValidityDuration": "Proszę wybrać okres ważności",
+ "accessRoleSelectPlease": "Proszę wybrać rolę",
+ "usernameRequired": "Nazwa użytkownika jest wymagana",
+ "idpSelectPlease": "Proszę wybrać dostawcę tożsamości",
+ "idpGenericOidc": "Ogólny dostawca OAuth2/OIDC.",
+ "accessRoleErrorFetch": "Nie udało się pobrać ról",
+ "accessRoleErrorFetchDescription": "Wystąpił błąd podczas pobierania ról",
+ "idpErrorFetch": "Nie udało się pobrać dostawców tożsamości",
+ "idpErrorFetchDescription": "Wystąpił błąd podczas pobierania dostawców tożsamości",
+ "userErrorExists": "Użytkownik już istnieje",
+ "userErrorExistsDescription": "Ten użytkownik jest już członkiem organizacji.",
+ "inviteError": "Nie udało się zaprosić użytkownika",
+ "inviteErrorDescription": "Wystąpił błąd podczas zapraszania użytkownika",
+ "userInvited": "Użytkownik zaproszony",
+ "userInvitedDescription": "Użytkownik został pomyślnie zaproszony.",
+ "userErrorCreate": "Nie udało się utworzyć użytkownika",
+ "userErrorCreateDescription": "Wystąpił błąd podczas tworzenia użytkownika",
+ "userCreated": "Utworzono użytkownika",
+ "userCreatedDescription": "Użytkownik został pomyślnie utworzony.",
+ "userTypeInternal": "Użytkownik wewnętrzny",
+ "userTypeInternalDescription": "Zaproś użytkownika do bezpośredniego dołączenia do Twojej organizacji.",
+ "userTypeExternal": "Użytkownik zewnętrzny",
+ "userTypeExternalDescription": "Utwórz użytkownika z zewnętrznym dostawcą tożsamości.",
+ "accessUserCreateDescription": "Wykonaj poniższe kroki, aby utworzyć nowego użytkownika",
+ "userSeeAll": "Zobacz wszystkich użytkowników",
+ "userTypeTitle": "Typ użytkownika",
+ "userTypeDescription": "Określ, jak chcesz utworzyć użytkownika",
+ "userSettings": "Informacje o użytkowniku",
+ "userSettingsDescription": "Wprowadź dane nowego użytkownika",
+ "inviteEmailSent": "Wyślij email z zaproszeniem do użytkownika",
+ "inviteValid": "Ważne przez",
+ "selectDuration": "Wybierz okres",
+ "accessRoleSelect": "Wybierz rolę",
+ "inviteEmailSentDescription": "Email został wysłany do użytkownika z linkiem dostępu poniżej. Musi on uzyskać dostęp do linku, aby zaakceptować zaproszenie.",
+ "inviteSentDescription": "Użytkownik został zaproszony. Musi uzyskać dostęp do poniższego linku, aby zaakceptować zaproszenie.",
+ "inviteExpiresIn": "Zaproszenie wygaśnie za {days, plural, =1 {# dzień} other {# dni}}.",
+ "idpTitle": "Dostawca tożsamości",
+ "idpSelect": "Wybierz dostawcę tożsamości dla użytkownika zewnętrznego",
+ "idpNotConfigured": "Nie skonfigurowano żadnych dostawców tożsamości. Skonfiguruj dostawcę tożsamości przed utworzeniem użytkowników zewnętrznych.",
+ "usernameUniq": "Musi to odpowiadać unikalnej nazwie użytkownika istniejącej u wybranego dostawcy tożsamości.",
+ "emailOptional": "Email (Opcjonalnie)",
+ "nameOptional": "Nazwa (Opcjonalnie)",
+ "accessControls": "Kontrola dostępu",
+ "userDescription2": "Zarządzaj ustawieniami tego użytkownika",
+ "accessRoleErrorAdd": "Nie udało się dodać użytkownika do roli",
+ "accessRoleErrorAddDescription": "Wystąpił błąd podczas dodawania użytkownika do roli.",
+ "userSaved": "Użytkownik zapisany",
+ "userSavedDescription": "Użytkownik został zaktualizowany.",
+ "accessControlsDescription": "Zarządzaj tym, do czego użytkownik ma dostęp i co może robić w organizacji",
+ "accessControlsSubmit": "Zapisz kontrole dostępu",
+ "roles": "Role",
+ "accessUsersRoles": "Zarządzaj użytkownikami i rolami",
+ "accessUsersRolesDescription": "Zapraszaj użytkowników i dodawaj ich do ról, aby zarządzać dostępem do Twojej organizacji",
+ "key": "Klucz",
+ "createdAt": "Utworzono",
+ "proxyErrorInvalidHeader": "Nieprawidłowa wartość niestandardowego nagłówka hosta. Użyj formatu nazwy domeny lub zapisz pusty, aby usunąć niestandardowy nagłówek hosta.",
+ "proxyErrorTls": "Nieprawidłowa nazwa serwera TLS. Użyj formatu nazwy domeny lub zapisz pusty, aby usunąć nazwę serwera TLS.",
+ "targetErrorFetch": "Nie udało się pobrać celów",
+ "targetErrorFetchDescription": "Wystąpił błąd podczas pobierania celów",
+ "siteErrorFetch": "Nie udało się pobrać zasobu",
+ "siteErrorFetchDescription": "Wystąpił błąd podczas pobierania zasobu",
+ "targetErrorDuplicate": "Duplikat celu",
+ "targetErrorDuplicateDescription": "Cel o tych ustawieniach już istnieje",
+ "targetWireGuardErrorInvalidIp": "Nieprawidłowy adres IP celu",
+ "targetWireGuardErrorInvalidIpDescription": "Adres IP celu musi znajdować się w podsieci witryny",
+ "targetsUpdated": "Cele zaktualizowane",
+ "targetsUpdatedDescription": "Cele i ustawienia zostały pomyślnie zaktualizowane",
+ "targetsErrorUpdate": "Nie udało się zaktualizować celów",
+ "targetsErrorUpdateDescription": "Wystąpił błąd podczas aktualizacji celów",
+ "targetTlsUpdate": "Ustawienia TLS zaktualizowane",
+ "targetTlsUpdateDescription": "Twoje ustawienia TLS zostały pomyślnie zaktualizowane",
+ "targetErrorTlsUpdate": "Nie udało się zaktualizować ustawień TLS",
+ "targetErrorTlsUpdateDescription": "Wystąpił błąd podczas aktualizacji ustawień TLS",
+ "proxyUpdated": "Ustawienia proxy zaktualizowane",
+ "proxyUpdatedDescription": "Twoje ustawienia proxy zostały pomyślnie zaktualizowane",
+ "proxyErrorUpdate": "Nie udało się zaktualizować ustawień proxy",
+ "proxyErrorUpdateDescription": "Wystąpił błąd podczas aktualizacji ustawień proxy",
+ "targetAddr": "IP / Nazwa hosta",
+ "targetPort": "Port",
+ "targetProtocol": "Protokół",
+ "targetTlsSettings": "Ustawienia HTTPS & TLS",
+ "targetTlsSettingsDescription": "Skonfiguruj ustawienia TLS dla swojego zasobu",
+ "targetTlsSettingsAdvanced": "Zaawansowane ustawienia TLS",
+ "targetTlsSni": "Nazwa serwera TLS (SNI)",
+ "targetTlsSniDescription": "Nazwa serwera TLS do użycia dla SNI. Pozostaw puste, aby użyć domyślnej.",
+ "targetTlsSubmit": "Zapisz ustawienia",
+ "targets": "Konfiguracja celów",
+ "targetsDescription": "Skonfiguruj cele do kierowania ruchu do swoich usług",
+ "targetStickySessions": "Włącz sesje trwałe",
+ "targetStickySessionsDescription": "Utrzymuj połączenia na tym samym celu backendowym przez całą sesję.",
+ "methodSelect": "Wybierz metodę",
+ "targetSubmit": "Dodaj cel",
+ "targetNoOne": "Brak celów. Dodaj cel używając formularza.",
+ "targetNoOneDescription": "Dodanie więcej niż jednego celu powyżej włączy równoważenie obciążenia.",
+ "targetsSubmit": "Zapisz cele",
+ "proxyAdditional": "Dodatkowe ustawienia proxy",
+ "proxyAdditionalDescription": "Skonfiguruj jak twój zasób obsługuje ustawienia proxy",
+ "proxyCustomHeader": "Niestandardowy nagłówek hosta",
+ "proxyCustomHeaderDescription": "Nagłówek hosta do ustawienia podczas proxy żądań. Pozostaw puste, aby użyć domyślnego.",
+ "proxyAdditionalSubmit": "Zapisz ustawienia proxy",
+ "subnetMaskErrorInvalid": "Nieprawidłowa maska podsieci. Musi być między 0 a 32.",
+ "ipAddressErrorInvalidFormat": "Nieprawidłowy format adresu IP",
+ "ipAddressErrorInvalidOctet": "Nieprawidłowy oktet adresu IP",
+ "path": "Ścieżka",
+ "ipAddressRange": "Zakres IP",
+ "rulesErrorFetch": "Nie udało się pobrać reguł",
+ "rulesErrorFetchDescription": "Wystąpił błąd podczas pobierania reguł",
+ "rulesErrorDuplicate": "Duplikat reguły",
+ "rulesErrorDuplicateDescription": "Reguła o tych ustawieniach już istnieje",
+ "rulesErrorInvalidIpAddressRange": "Nieprawidłowy CIDR",
+ "rulesErrorInvalidIpAddressRangeDescription": "Wprowadź prawidłową wartość CIDR",
+ "rulesErrorInvalidUrl": "Nieprawidłowa ścieżka URL",
+ "rulesErrorInvalidUrlDescription": "Wprowadź prawidłową wartość ścieżki URL",
+ "rulesErrorInvalidIpAddress": "Nieprawidłowe IP",
+ "rulesErrorInvalidIpAddressDescription": "Wprowadź prawidłowy adres IP",
+ "rulesErrorUpdate": "Nie udało się zaktualizować reguł",
+ "rulesErrorUpdateDescription": "Wystąpił błąd podczas aktualizacji reguł",
+ "rulesUpdated": "Włącz reguły",
+ "rulesUpdatedDescription": "Ocena reguł została zaktualizowana",
+ "rulesMatchIpAddressRangeDescription": "Wprowadź adres w formacie CIDR (np. 103.21.244.0/22)",
+ "rulesMatchIpAddress": "Wprowadź adres IP (np. 103.21.244.12)",
+ "rulesMatchUrl": "Wprowadź ścieżkę URL lub wzorzec (np. /api/v1/todos lub /api/v1/*)",
+ "rulesErrorInvalidPriority": "Nieprawidłowy priorytet",
+ "rulesErrorInvalidPriorityDescription": "Wprowadź prawidłowy priorytet",
+ "rulesErrorDuplicatePriority": "Zduplikowane priorytety",
+ "rulesErrorDuplicatePriorityDescription": "Wprowadź unikalne priorytety",
+ "ruleUpdated": "Reguły zaktualizowane",
+ "ruleUpdatedDescription": "Reguły zostały pomyślnie zaktualizowane",
+ "ruleErrorUpdate": "Operacja nie powiodła się",
+ "ruleErrorUpdateDescription": "Wystąpił błąd podczas operacji zapisu",
+ "rulesPriority": "Priorytet",
+ "rulesAction": "Akcja",
+ "rulesMatchType": "Typ dopasowania",
+ "value": "Wartość",
+ "rulesAbout": "O regułach",
+ "rulesAboutDescription": "Reguły pozwalają kontrolować dostęp do zasobu na podstawie zestawu kryteriów. Możesz tworzyć reguły zezwalające lub odmawiające dostępu na podstawie adresu IP lub ścieżki URL.",
+ "rulesActions": "Akcje",
+ "rulesActionAlwaysAllow": "Zawsze zezwalaj: Pomiń wszystkie metody uwierzytelniania",
+ "rulesActionAlwaysDeny": "Zawsze odmawiaj: Blokuj wszystkie żądania; nie można próbować uwierzytelniania",
+ "rulesMatchCriteria": "Kryteria dopasowania",
+ "rulesMatchCriteriaIpAddress": "Dopasuj konkretny adres IP",
+ "rulesMatchCriteriaIpAddressRange": "Dopasuj zakres adresów IP w notacji CIDR",
+ "rulesMatchCriteriaUrl": "Dopasuj ścieżkę URL lub wzorzec",
+ "rulesEnable": "Włącz reguły",
+ "rulesEnableDescription": "Włącz lub wyłącz ocenę reguł dla tego zasobu",
+ "rulesResource": "Konfiguracja reguł zasobu",
+ "rulesResourceDescription": "Skonfiguruj reguły kontroli dostępu do zasobu",
+ "ruleSubmit": "Dodaj regułę",
+ "rulesNoOne": "Brak reguł. Dodaj regułę używając formularza.",
+ "rulesOrder": "Reguły są oceniane według priorytetu w kolejności rosnącej.",
+ "rulesSubmit": "Zapisz reguły",
+ "resourceErrorCreate": "Błąd podczas tworzenia zasobu",
+ "resourceErrorCreateDescription": "Wystąpił błąd podczas tworzenia zasobu",
+ "resourceErrorCreateMessage": "Błąd podczas tworzenia zasobu:",
+ "resourceErrorCreateMessageDescription": "Wystąpił nieoczekiwany błąd",
+ "sitesErrorFetch": "Błąd podczas pobierania witryn",
+ "sitesErrorFetchDescription": "Wystąpił błąd podczas pobierania witryn",
+ "domainsErrorFetch": "Błąd podczas pobierania domen",
+ "domainsErrorFetchDescription": "Wystąpił błąd podczas pobierania domen",
+ "none": "Brak",
+ "unknown": "Nieznany",
+ "resources": "Zasoby",
+ "resourcesDescription": "Zasoby są proxy do aplikacji działających w Twojej sieci prywatnej. Utwórz zasób dla dowolnej usługi HTTP/HTTPS lub surowej TCP/UDP w Twojej sieci prywatnej. Każdy zasób musi być połączony z witryną, aby umożliwić prywatne, bezpieczne połączenie przez zaszyfrowany tunel WireGuard.",
+ "resourcesWireGuardConnect": "Bezpieczne połączenie z szyfrowaniem WireGuard",
+ "resourcesMultipleAuthenticationMethods": "Skonfiguruj wiele metod uwierzytelniania",
+ "resourcesUsersRolesAccess": "Kontrola dostępu oparta na użytkownikach i rolach",
+ "resourcesErrorUpdate": "Nie udało się przełączyć zasobu",
+ "resourcesErrorUpdateDescription": "Wystąpił błąd podczas aktualizacji zasobu",
+ "access": "Dostęp",
+ "shareLink": "Link udostępniania {resource}",
+ "resourceSelect": "Wybierz zasób",
+ "shareLinks": "Linki udostępniania",
+ "share": "Linki do udostępnienia",
+ "shareDescription2": "Twórz linki do udostępniania swoich zasobów. Linki zapewniają tymczasowy lub nieograniczony dostęp do zasobu. Podczas tworzenia linku możesz skonfigurować okres jego ważności.",
+ "shareEasyCreate": "Łatwe tworzenie i udostępnianie",
+ "shareConfigurableExpirationDuration": "Konfigurowalny okres ważności",
+ "shareSecureAndRevocable": "Bezpieczne i odwoływalne",
+ "nameMin": "Nazwa musi mieć co najmniej {len} znaków.",
+ "nameMax": "Nazwa nie może być dłuższa niż {len} znaków.",
+ "sitesConfirmCopy": "Potwierdź, że skopiowałeś konfigurację.",
+ "unknownCommand": "Nieznane polecenie",
+ "newtErrorFetchReleases": "Nie udało się pobrać informacji o wydaniu: {err}",
+ "newtErrorFetchLatest": "Błąd podczas pobierania najnowszego wydania: {err}",
+ "newtEndpoint": "Punkt końcowy Newt",
+ "newtId": "ID Newt",
+ "newtSecretKey": "Klucz tajny Newt",
+ "architecture": "Architektura",
+ "sites": "Witryny",
+ "siteWgAnyClients": "Użyj dowolnego klienta WireGuard do połączenia. Będziesz musiał adresować swoje zasoby wewnętrzne używając IP peera.",
+ "siteWgCompatibleAllClients": "Kompatybilny ze wszystkimi klientami WireGuard",
+ "siteWgManualConfigurationRequired": "Wymagana konfiguracja ręczna",
+ "userErrorNotAdminOrOwner": "Użytkownik nie jest administratorem ani właścicielem",
+ "pangolinSettings": "Ustawienia - Pangolin",
+ "accessRoleYour": "Twoja rola:",
+ "accessRoleSelect2": "Wybierz rolę",
+ "accessUserSelect": "Wybierz użytkownika",
+ "otpEmailEnter": "Wprowadź adres e-mail",
+ "otpEmailEnterDescription": "Naciśnij enter, aby dodać adres e-mail po wpisaniu go w polu.",
+ "otpEmailErrorInvalid": "Nieprawidłowy adres e-mail. Znak wieloznaczny (*) musi być całą częścią lokalną.",
+ "otpEmailSmtpRequired": "Wymagany SMTP",
+ "otpEmailSmtpRequiredDescription": "SMTP musi być włączony na serwerze, aby korzystać z uwierzytelniania jednorazowym hasłem.",
+ "otpEmailTitle": "Hasła jednorazowe",
+ "otpEmailTitleDescription": "Wymagaj uwierzytelniania opartego na e-mail dla dostępu do zasobu",
+ "otpEmailWhitelist": "Biała lista e-mail",
+ "otpEmailWhitelistList": "Dozwolone adresy e-mail",
+ "otpEmailWhitelistListDescription": "Tylko użytkownicy z tymi adresami e-mail będą mieli dostęp do tego zasobu. Otrzymają prośbę o wprowadzenie jednorazowego hasła wysłanego na ich e-mail. Można użyć znaków wieloznacznych (*@example.com), aby zezwolić na dowolny adres e-mail z domeny.",
+ "otpEmailWhitelistSave": "Zapisz białą listę",
+ "passwordAdd": "Dodaj hasło",
+ "passwordRemove": "Usuń hasło",
+ "pincodeAdd": "Dodaj kod PIN",
+ "pincodeRemove": "Usuń kod PIN",
+ "resourceAuthMethods": "Metody uwierzytelniania",
+ "resourceAuthMethodsDescriptions": "Zezwól na dostęp do zasobu przez dodatkowe metody uwierzytelniania",
+ "resourceAuthSettingsSave": "Zapisano pomyślnie",
+ "resourceAuthSettingsSaveDescription": "Ustawienia uwierzytelniania zostały zapisane",
+ "resourceErrorAuthFetch": "Nie udało się pobrać danych",
+ "resourceErrorAuthFetchDescription": "Wystąpił błąd podczas pobierania danych",
+ "resourceErrorPasswordRemove": "Błąd podczas usuwania hasła zasobu",
+ "resourceErrorPasswordRemoveDescription": "Wystąpił błąd podczas usuwania hasła zasobu",
+ "resourceErrorPasswordSetup": "Błąd podczas ustawiania hasła zasobu",
+ "resourceErrorPasswordSetupDescription": "Wystąpił błąd podczas ustawiania hasła zasobu",
+ "resourceErrorPincodeRemove": "Błąd podczas usuwania kodu PIN zasobu",
+ "resourceErrorPincodeRemoveDescription": "Wystąpił błąd podczas usuwania kodu PIN zasobu",
+ "resourceErrorPincodeSetup": "Błąd podczas ustawiania kodu PIN zasobu",
+ "resourceErrorPincodeSetupDescription": "Wystąpił błąd podczas ustawiania kodu PIN zasobu",
+ "resourceErrorUsersRolesSave": "Nie udało się ustawić ról",
+ "resourceErrorUsersRolesSaveDescription": "Wystąpił błąd podczas ustawiania ról",
+ "resourceErrorWhitelistSave": "Nie udało się zapisać białej listy",
+ "resourceErrorWhitelistSaveDescription": "Wystąpił błąd podczas zapisywania białej listy",
+ "resourcePasswordSubmit": "Włącz ochronę hasłem",
+ "resourcePasswordRemove": "Hasło zasobu zostało usunięte",
+ "resourcePasswordRemoveDescription": "Hasło zasobu zostało pomyślnie usunięte",
+ "resourcePasswordSetup": "Ustawiono hasło zasobu",
+ "resourcePasswordSetupDescription": "Hasło zasobu zostało pomyślnie ustawione",
+ "resourcePasswordSetupTitle": "Ustaw hasło",
+ "resourcePasswordSetupTitleDescription": "Ustaw hasło, aby chronić ten zasób",
+ "resourcePincode": "Kod PIN",
+ "resourcePincodeSubmit": "Włącz ochronę kodem PIN",
+ "resourcePincodeProtection": "Ochrona kodem PIN {status}",
+ "resourcePincodeRemove": "Usunięto kod PIN zasobu",
+ "resourcePincodeRemoveDescription": "Kod PIN zasobu został pomyślnie usunięty",
+ "resourcePincodeSetup": "Ustawiono kod PIN zasobu",
+ "resourcePincodeSetupDescription": "Kod PIN zasobu został pomyślnie ustawiony",
+ "resourcePincodeSetupTitle": "Ustaw kod PIN",
+ "resourcePincodeSetupTitleDescription": "Ustaw kod PIN, aby chronić ten zasób",
+ "resourceRoleDescription": "Administratorzy zawsze mają dostęp do tego zasobu.",
+ "resourceUsersRoles": "Użytkownicy i role",
+ "resourceUsersRolesDescription": "Skonfiguruj, którzy użytkownicy i role mogą odwiedzać ten zasób",
+ "resourceUsersRolesSubmit": "Zapisz użytkowników i role",
+ "resourceWhitelistSave": "Zapisano pomyślnie",
+ "resourceWhitelistSaveDescription": "Ustawienia białej listy zostały zapisane",
+ "ssoUse": "Użyj platformy SSO",
+ "ssoUseDescription": "Istniejący użytkownicy będą musieli zalogować się tylko raz dla wszystkich zasobów, które mają to włączone.",
+ "proxyErrorInvalidPort": "Nieprawidłowy numer portu",
+ "subdomainErrorInvalid": "Nieprawidłowa poddomena",
+ "domainErrorFetch": "Błąd podczas pobierania domen",
+ "domainErrorFetchDescription": "Wystąpił błąd podczas pobierania domen",
+ "resourceErrorUpdate": "Nie udało się zaktualizować zasobu",
+ "resourceErrorUpdateDescription": "Wystąpił błąd podczas aktualizacji zasobu",
+ "resourceUpdated": "Zasób zaktualizowany",
+ "resourceUpdatedDescription": "Zasób został pomyślnie zaktualizowany",
+ "resourceErrorTransfer": "Nie udało się przenieść zasobu",
+ "resourceErrorTransferDescription": "Wystąpił błąd podczas przenoszenia zasobu",
+ "resourceTransferred": "Zasób przeniesiony",
+ "resourceTransferredDescription": "Zasób został pomyślnie przeniesiony",
+ "resourceErrorToggle": "Nie udało się przełączyć zasobu",
+ "resourceErrorToggleDescription": "Wystąpił błąd podczas aktualizacji zasobu",
+ "resourceVisibilityTitle": "Widoczność",
+ "resourceVisibilityTitleDescription": "Całkowicie włącz lub wyłącz widoczność zasobu",
+ "resourceGeneral": "Ustawienia ogólne",
+ "resourceGeneralDescription": "Skonfiguruj ustawienia ogólne dla tego zasobu",
+ "resourceEnable": "Włącz zasób",
+ "resourceTransfer": "Przenieś zasób",
+ "resourceTransferDescription": "Przenieś ten zasób do innej witryny",
+ "resourceTransferSubmit": "Przenieś zasób",
+ "siteDestination": "Witryna docelowa",
+ "searchSites": "Szukaj witryn",
+ "accessRoleCreate": "Utwórz rolę",
+ "accessRoleCreateDescription": "Utwórz nową rolę aby zgrupować użytkowników i zarządzać ich uprawnieniami.",
+ "accessRoleCreateSubmit": "Utwórz rolę",
+ "accessRoleCreated": "Rola utworzona",
+ "accessRoleCreatedDescription": "Rola została pomyślnie utworzona.",
+ "accessRoleErrorCreate": "Nie udało się utworzyć roli",
+ "accessRoleErrorCreateDescription": "Wystąpił błąd podczas tworzenia roli.",
+ "accessRoleErrorNewRequired": "Nowa rola jest wymagana",
+ "accessRoleErrorRemove": "Nie udało się usunąć roli",
+ "accessRoleErrorRemoveDescription": "Wystąpił błąd podczas usuwania roli.",
+ "accessRoleName": "Nazwa roli",
+ "accessRoleQuestionRemove": "Zamierzasz usunąć rolę {name}. Tej akcji nie można cofnąć.",
+ "accessRoleRemove": "Usuń rolę",
+ "accessRoleRemoveDescription": "Usuń rolę z organizacji",
+ "accessRoleRemoveSubmit": "Usuń rolę",
+ "accessRoleRemoved": "Rola usunięta",
+ "accessRoleRemovedDescription": "Rola została pomyślnie usunięta.",
+ "accessRoleRequiredRemove": "Przed usunięciem tej roli, wybierz nową rolę do której zostaną przeniesieni obecni członkowie.",
+ "manage": "Zarządzaj",
+ "sitesNotFound": "Nie znaleziono witryn."
}
diff --git a/messages/pt-PT.json b/messages/pt-PT.json
index 639cb954..e599182b 100644
--- a/messages/pt-PT.json
+++ b/messages/pt-PT.json
@@ -54,8 +54,6 @@
"siteCreateDescription2": "Siga os passos abaixo para criar e conectar um novo site",
"siteCreateDescription": "Crie um novo site para começar a conectar seus recursos",
"close": "FECHAR",
- "siteNameMin": "O nome deve ter pelo menos 2 caracteres.",
- "siteNameMax": "O nome não deve ter mais de 30 caracteres.",
"siteErrorCreate": "Erro ao criar site",
"siteErrorCreateKeyPair": "Par de chaves ou padrões do site não encontrados",
"siteErrorCreateDefaults": "Padrão do site não encontrado",
@@ -71,7 +69,7 @@
"dockerRun": "Execução do Docker",
"siteLearnLocal": "Os sites locais não são túneis, saiba mais",
"siteConfirmCopy": "Eu copiei a configuração",
- "searchSites": "Procurar sites...",
+ "searchSitesProgress": "Procurar sites...",
"siteAdd": "Adicionar Site",
"siteInstallNewt": "Instalar Novo",
"siteInstallNewtDescription": "Novo item em execução no seu sistema",
@@ -111,7 +109,7 @@
"shareErrorDelete": "Falha ao excluir o link",
"shareErrorDeleteMessage": "Ocorreu um erro ao excluir o link",
"shareDeleted": "Link excluído",
- "shareDeletedDesciption": "O link foi eliminado",
+ "shareDeletedDescription": "O link foi eliminado",
"shareTokenDescription": "Seu token de acesso pode ser passado de duas maneiras: como um parâmetro de consulta ou nos cabeçalhos da solicitação. Estes devem ser passados do cliente em todas as solicitações para acesso autenticado.",
"accessToken": "Token de acesso",
"usageExamples": "Exemplos de uso",
@@ -234,7 +232,7 @@
"username": "Usuário:",
"identityProvider": "Provedor de Identidade",
"role": "Funções",
- "accessRoleNameRequired": "O nome é obrigatório",
+ "nameRequired": "O nome é obrigatório",
"accessRolesManage": "Gerenciar Funções",
"accessRolesDescription": "Configurar funções para gerenciar o acesso à sua organização",
"accessRolesSearch": "Pesquisar funções...",
@@ -252,8 +250,6 @@
"years": "anos",
"day": "{count, plural, =1 {# dia} other {# dias}}",
"apiKeysTitle": "Informações da Chave API",
- "apiKeysNameMin": "O nome deve ter pelo menos 2 caracteres.",
- "apiKeysNameMax": "O nome não deve ter mais de 255 caracteres.",
"apiKeysConfirmCopy2": "Você deve confirmar que copiou a chave API.",
"apiKeysErrorCreate": "Erro ao criar chave API",
"apiKeysErrorSetPermission": "Erro ao definir permissões",
@@ -382,5 +378,319 @@
"inviteValidityPeriodSelect": "Selecione o período de validade",
"inviteRegenerateMessage": "O convite foi regenerado. O usuário deve acessar o link abaixo para aceitar o convite.",
"inviteRegenerateButton": "Regenerar",
- "expiresAt": "Expira em"
+ "expiresAt": "Expira em",
+ "accessRoleUnknown": "Função Desconhecida",
+ "placeholder": "Espaço reservado",
+ "userErrorOrgRemove": "Falha ao remover usuário",
+ "userErrorOrgRemoveDescription": "Ocorreu um erro ao remover o usuário.",
+ "userOrgRemoved": "Usuário removido",
+ "userOrgRemovedDescription": "O usuário {email} foi removido da organização.",
+ "userQuestionOrgRemove": "Tem certeza que deseja remover {email} da organização?",
+ "userMessageOrgRemove": "Uma vez removido, este usuário não terá mais acesso à organização. Você sempre pode reconvidá-lo depois, mas eles precisarão aceitar o convite novamente.",
+ "userMessageOrgConfirm": "Para confirmar, digite o nome do usuário abaixo.",
+ "userRemoveOrgConfirm": "Confirmar Remoção do Usuário",
+ "userRemoveOrg": "Remover Usuário da Organização",
+ "users": "Usuários",
+ "accessRoleMember": "Membro",
+ "accessRoleOwner": "Proprietário",
+ "userConfirmed": "Confirmado",
+ "idpNameInternal": "Interno",
+ "emailInvalid": "Endereço de e-mail inválido",
+ "inviteValidityDuration": "Por favor, selecione uma duração",
+ "accessRoleSelectPlease": "Por favor, selecione uma função",
+ "usernameRequired": "Nome de usuário é obrigatório",
+ "idpSelectPlease": "Por favor, selecione um provedor de identidade",
+ "idpGenericOidc": "Provedor genérico OAuth2/OIDC.",
+ "accessRoleErrorFetch": "Falha ao buscar funções",
+ "accessRoleErrorFetchDescription": "Ocorreu um erro ao buscar as funções",
+ "idpErrorFetch": "Falha ao buscar provedores de identidade",
+ "idpErrorFetchDescription": "Ocorreu um erro ao buscar provedores de identidade",
+ "userErrorExists": "Usuário já existe",
+ "userErrorExistsDescription": "Este usuário já é membro da organização.",
+ "inviteError": "Falha ao convidar usuário",
+ "inviteErrorDescription": "Ocorreu um erro ao convidar o usuário",
+ "userInvited": "Usuário convidado",
+ "userInvitedDescription": "O usuário foi convidado com sucesso.",
+ "userErrorCreate": "Falha ao criar usuário",
+ "userErrorCreateDescription": "Ocorreu um erro ao criar o usuário",
+ "userCreated": "Usuário criado",
+ "userCreatedDescription": "O usuário foi criado com sucesso.",
+ "userTypeInternal": "Usuário Interno",
+ "userTypeInternalDescription": "Convidar um usuário para se juntar à sua organização diretamente.",
+ "userTypeExternal": "Usuário Externo",
+ "userTypeExternalDescription": "Criar um usuário com um provedor de identidade externo.",
+ "accessUserCreateDescription": "Siga os passos abaixo para criar um novo usuário",
+ "userSeeAll": "Ver Todos os Usuários",
+ "userTypeTitle": "Tipo de Usuário",
+ "userTypeDescription": "Determine como você deseja criar o usuário",
+ "userSettings": "Informações do Usuário",
+ "userSettingsDescription": "Insira os detalhes para o novo usuário",
+ "inviteEmailSent": "Enviar e-mail de convite para o usuário",
+ "inviteValid": "Válido Por",
+ "selectDuration": "Selecionar duração",
+ "accessRoleSelect": "Selecionar função",
+ "inviteEmailSentDescription": "Um e-mail foi enviado ao usuário com o link de acesso abaixo. Eles devem acessar o link para aceitar o convite.",
+ "inviteSentDescription": "O usuário foi convidado. Eles devem acessar o link abaixo para aceitar o convite.",
+ "inviteExpiresIn": "O convite expirará em {days, plural, =1 {# dia} other {# dias}}.",
+ "idpTitle": "Provedor de Identidade",
+ "idpSelect": "Selecione o provedor de identidade para o usuário externo",
+ "idpNotConfigured": "Nenhum provedor de identidade está configurado. Configure um provedor de identidade antes de criar usuários externos.",
+ "usernameUniq": "Isto deve corresponder ao nome de usuário único que existe no provedor de identidade selecionado.",
+ "emailOptional": "E-mail (Opcional)",
+ "nameOptional": "Nome (Opcional)",
+ "accessControls": "Controles de Acesso",
+ "userDescription2": "Gerenciar as configurações deste usuário",
+ "accessRoleErrorAdd": "Falha ao adicionar usuário à função",
+ "accessRoleErrorAddDescription": "Ocorreu um erro ao adicionar usuário à função.",
+ "userSaved": "Usuário salvo",
+ "userSavedDescription": "O usuário foi atualizado.",
+ "accessControlsDescription": "Gerencie o que este usuário pode acessar e fazer na organização",
+ "accessControlsSubmit": "Salvar Controles de Acesso",
+ "roles": "Funções",
+ "accessUsersRoles": "Gerenciar Usuários e Funções",
+ "accessUsersRolesDescription": "Convide usuários e adicione-os a funções para gerenciar o acesso à sua organização",
+ "key": "Chave",
+ "createdAt": "Criado Em",
+ "proxyErrorInvalidHeader": "Valor do cabeçalho Host personalizado inválido. Use o formato de nome de domínio ou salve vazio para remover o cabeçalho Host personalizado.",
+ "proxyErrorTls": "Nome do Servidor TLS inválido. Use o formato de nome de domínio ou salve vazio para remover o Nome do Servidor TLS.",
+ "targetErrorFetch": "Falha ao buscar alvos",
+ "targetErrorFetchDescription": "Ocorreu um erro ao buscar alvos",
+ "siteErrorFetch": "Falha ao buscar recurso",
+ "siteErrorFetchDescription": "Ocorreu um erro ao buscar recurso",
+ "targetErrorDuplicate": "Alvo duplicado",
+ "targetErrorDuplicateDescription": "Um alvo com estas configurações já existe",
+ "targetWireGuardErrorInvalidIp": "IP do alvo inválido",
+ "targetWireGuardErrorInvalidIpDescription": "O IP do alvo deve estar dentro da subnet do site",
+ "targetsUpdated": "Alvos atualizados",
+ "targetsUpdatedDescription": "Alvos e configurações atualizados com sucesso",
+ "targetsErrorUpdate": "Falha ao atualizar alvos",
+ "targetsErrorUpdateDescription": "Ocorreu um erro ao atualizar alvos",
+ "targetTlsUpdate": "Configurações TLS atualizadas",
+ "targetTlsUpdateDescription": "Suas configurações TLS foram atualizadas com sucesso",
+ "targetErrorTlsUpdate": "Falha ao atualizar configurações TLS",
+ "targetErrorTlsUpdateDescription": "Ocorreu um erro ao atualizar as configurações TLS",
+ "proxyUpdated": "Configurações de proxy atualizadas",
+ "proxyUpdatedDescription": "Suas configurações de proxy foram atualizadas com sucesso",
+ "proxyErrorUpdate": "Falha ao atualizar configurações de proxy",
+ "proxyErrorUpdateDescription": "Ocorreu um erro ao atualizar as configurações de proxy",
+ "targetAddr": "IP / Nome do Host",
+ "targetPort": "Porta",
+ "targetProtocol": "Protocolo",
+ "targetTlsSettings": "Configurações HTTPS & TLS",
+ "targetTlsSettingsDescription": "Configure as configurações TLS para seu recurso",
+ "targetTlsSettingsAdvanced": "Configurações TLS Avançadas",
+ "targetTlsSni": "Nome do Servidor TLS (SNI)",
+ "targetTlsSniDescription": "O Nome do Servidor TLS para usar para SNI. Deixe vazio para usar o padrão.",
+ "targetTlsSubmit": "Salvar Configurações",
+ "targets": "Configuração de Alvos",
+ "targetsDescription": "Configure alvos para rotear tráfego para seus serviços",
+ "targetStickySessions": "Ativar Sessões Persistentes",
+ "targetStickySessionsDescription": "Manter conexões no mesmo alvo backend durante toda a sessão.",
+ "methodSelect": "Selecionar método",
+ "targetSubmit": "Adicionar Alvo",
+ "targetNoOne": "Sem alvos. Adicione um alvo usando o formulário.",
+ "targetNoOneDescription": "Adicionar mais de um alvo acima habilitará o balanceamento de carga.",
+ "targetsSubmit": "Salvar Alvos",
+ "proxyAdditional": "Configurações Adicionais de Proxy",
+ "proxyAdditionalDescription": "Configure como seu recurso lida com configurações de proxy",
+ "proxyCustomHeader": "Cabeçalho Host Personalizado",
+ "proxyCustomHeaderDescription": "O cabeçalho host para definir ao fazer proxy de requisições. Deixe vazio para usar o padrão.",
+ "proxyAdditionalSubmit": "Salvar Configurações de Proxy",
+ "subnetMaskErrorInvalid": "Máscara de subnet inválida. Deve estar entre 0 e 32.",
+ "ipAddressErrorInvalidFormat": "Formato de endereço IP inválido",
+ "ipAddressErrorInvalidOctet": "Octeto de endereço IP inválido",
+ "path": "Caminho",
+ "ipAddressRange": "Faixa de IP",
+ "rulesErrorFetch": "Falha ao buscar regras",
+ "rulesErrorFetchDescription": "Ocorreu um erro ao buscar regras",
+ "rulesErrorDuplicate": "Regra duplicada",
+ "rulesErrorDuplicateDescription": "Uma regra com estas configurações já existe",
+ "rulesErrorInvalidIpAddressRange": "CIDR inválido",
+ "rulesErrorInvalidIpAddressRangeDescription": "Por favor, insira um valor CIDR válido",
+ "rulesErrorInvalidUrl": "Caminho URL inválido",
+ "rulesErrorInvalidUrlDescription": "Por favor, insira um valor de caminho URL válido",
+ "rulesErrorInvalidIpAddress": "IP inválido",
+ "rulesErrorInvalidIpAddressDescription": "Por favor, insira um endereço IP válido",
+ "rulesErrorUpdate": "Falha ao atualizar regras",
+ "rulesErrorUpdateDescription": "Ocorreu um erro ao atualizar regras",
+ "rulesUpdated": "Ativar Regras",
+ "rulesUpdatedDescription": "A avaliação de regras foi atualizada",
+ "rulesMatchIpAddressRangeDescription": "Insira um endereço no formato CIDR (ex: 103.21.244.0/22)",
+ "rulesMatchIpAddress": "Insira um endereço IP (ex: 103.21.244.12)",
+ "rulesMatchUrl": "Insira um caminho URL ou padrão (ex: /api/v1/todos ou /api/v1/*)",
+ "rulesErrorInvalidPriority": "Prioridade Inválida",
+ "rulesErrorInvalidPriorityDescription": "Por favor, insira uma prioridade válida",
+ "rulesErrorDuplicatePriority": "Prioridades Duplicadas",
+ "rulesErrorDuplicatePriorityDescription": "Por favor, insira prioridades únicas",
+ "ruleUpdated": "Regras atualizadas",
+ "ruleUpdatedDescription": "Regras atualizadas com sucesso",
+ "ruleErrorUpdate": "Operação falhou",
+ "ruleErrorUpdateDescription": "Ocorreu um erro durante a operação de salvamento",
+ "rulesPriority": "Prioridade",
+ "rulesAction": "Ação",
+ "rulesMatchType": "Tipo de Correspondência",
+ "value": "Valor",
+ "rulesAbout": "Sobre Regras",
+ "rulesAboutDescription": "As regras permitem controlar o acesso ao seu recurso com base em um conjunto de critérios. Você pode criar regras para permitir ou negar acesso com base no endereço IP ou caminho URL.",
+ "rulesActions": "Ações",
+ "rulesActionAlwaysAllow": "Sempre Permitir: Ignorar todos os métodos de autenticação",
+ "rulesActionAlwaysDeny": "Sempre Negar: Bloquear todas as requisições; nenhuma autenticação pode ser tentada",
+ "rulesMatchCriteria": "Critérios de Correspondência",
+ "rulesMatchCriteriaIpAddress": "Corresponder a um endereço IP específico",
+ "rulesMatchCriteriaIpAddressRange": "Corresponder a uma faixa de endereços IP em notação CIDR",
+ "rulesMatchCriteriaUrl": "Corresponder a um caminho URL ou padrão",
+ "rulesEnable": "Ativar Regras",
+ "rulesEnableDescription": "Ativar ou desativar avaliação de regras para este recurso",
+ "rulesResource": "Configuração de Regras do Recurso",
+ "rulesResourceDescription": "Configure regras para controlar o acesso ao seu recurso",
+ "ruleSubmit": "Adicionar Regra",
+ "rulesNoOne": "Sem regras. Adicione uma regra usando o formulário.",
+ "rulesOrder": "As regras são avaliadas por prioridade em ordem ascendente.",
+ "rulesSubmit": "Salvar Regras",
+ "resourceErrorCreate": "Erro ao criar recurso",
+ "resourceErrorCreateDescription": "Ocorreu um erro ao criar o recurso",
+ "resourceErrorCreateMessage": "Erro ao criar recurso:",
+ "resourceErrorCreateMessageDescription": "Ocorreu um erro inesperado",
+ "sitesErrorFetch": "Erro ao buscar sites",
+ "sitesErrorFetchDescription": "Ocorreu um erro ao buscar os sites",
+ "domainsErrorFetch": "Erro ao buscar domínios",
+ "domainsErrorFetchDescription": "Ocorreu um erro ao buscar os domínios",
+ "none": "Nenhum",
+ "unknown": "Desconhecido",
+ "resources": "Recursos",
+ "resourcesDescription": "Recursos são proxies para aplicações executando em sua rede privada. Crie um recurso para qualquer serviço HTTP/HTTPS ou TCP/UDP bruto em sua rede privada. Cada recurso deve estar conectado a um site para habilitar conectividade privada e segura através de um túnel WireGuard criptografado.",
+ "resourcesWireGuardConnect": "Conectividade segura com criptografia WireGuard",
+ "resourcesMultipleAuthenticationMethods": "Configure múltiplos métodos de autenticação",
+ "resourcesUsersRolesAccess": "Controle de acesso baseado em usuários e funções",
+ "resourcesErrorUpdate": "Falha ao alternar recurso",
+ "resourcesErrorUpdateDescription": "Ocorreu um erro ao atualizar o recurso",
+ "access": "Acesso",
+ "shareLink": "Link de Compartilhamento {resource}",
+ "resourceSelect": "Selecionar recurso",
+ "shareLinks": "Links de Compartilhamento",
+ "share": "Links Compartilháveis",
+ "shareDescription2": "Crie links compartilháveis para seus recursos. Os links fornecem acesso temporário ou ilimitado ao seu recurso. Você pode configurar a duração da expiração do link quando o criar.",
+ "shareEasyCreate": "Fácil de criar e compartilhar",
+ "shareConfigurableExpirationDuration": "Duração de expiração configurável",
+ "shareSecureAndRevocable": "Seguro e revogável",
+ "nameMin": "O nome deve ter pelo menos {len} caracteres.",
+ "nameMax": "O nome não deve ter mais que {len} caracteres.",
+ "sitesConfirmCopy": "Por favor, confirme que você copiou a configuração.",
+ "unknownCommand": "Comando desconhecido",
+ "newtErrorFetchReleases": "Falha ao buscar informações da versão: {err}",
+ "newtErrorFetchLatest": "Erro ao buscar última versão: {err}",
+ "newtEndpoint": "Endpoint Newt",
+ "newtId": "ID Newt",
+ "newtSecretKey": "Chave Secreta Newt",
+ "architecture": "Arquitetura",
+ "sites": "Sites",
+ "siteWgAnyClients": "Use qualquer cliente WireGuard para conectar. Você terá que endereçar seus recursos internos usando o IP do par.",
+ "siteWgCompatibleAllClients": "Compatível com todos os clientes WireGuard",
+ "siteWgManualConfigurationRequired": "Configuração manual necessária",
+ "userErrorNotAdminOrOwner": "Usuário não é administrador ou proprietário",
+ "pangolinSettings": "Configurações - Pangolin",
+ "accessRoleYour": "Sua função:",
+ "accessRoleSelect2": "Selecionar uma função",
+ "accessUserSelect": "Selecionar um usuário",
+ "otpEmailEnter": "Digite um e-mail",
+ "otpEmailEnterDescription": "Pressione enter para adicionar um e-mail após digitá-lo no campo de entrada.",
+ "otpEmailErrorInvalid": "Endereço de e-mail inválido. O caractere curinga (*) deve ser a parte local inteira.",
+ "otpEmailSmtpRequired": "SMTP Necessário",
+ "otpEmailSmtpRequiredDescription": "O SMTP deve estar habilitado no servidor para usar a autenticação de senha única.",
+ "otpEmailTitle": "Senhas Únicas",
+ "otpEmailTitleDescription": "Requer autenticação baseada em e-mail para acesso ao recurso",
+ "otpEmailWhitelist": "Lista de E-mails Permitidos",
+ "otpEmailWhitelistList": "E-mails na Lista Permitida",
+ "otpEmailWhitelistListDescription": "Apenas usuários com estes endereços de e-mail poderão acessar este recurso. Eles serão solicitados a inserir uma senha única enviada para seu e-mail. Caracteres curinga (*@example.com) podem ser usados para permitir qualquer endereço de e-mail de um domínio.",
+ "otpEmailWhitelistSave": "Salvar Lista Permitida",
+ "passwordAdd": "Adicionar Senha",
+ "passwordRemove": "Remover Senha",
+ "pincodeAdd": "Adicionar Código PIN",
+ "pincodeRemove": "Remover Código PIN",
+ "resourceAuthMethods": "Métodos de Autenticação",
+ "resourceAuthMethodsDescriptions": "Permitir acesso ao recurso via métodos de autenticação adicionais",
+ "resourceAuthSettingsSave": "Salvo com sucesso",
+ "resourceAuthSettingsSaveDescription": "As configurações de autenticação foram salvas",
+ "resourceErrorAuthFetch": "Falha ao buscar dados",
+ "resourceErrorAuthFetchDescription": "Ocorreu um erro ao buscar os dados",
+ "resourceErrorPasswordRemove": "Erro ao remover senha do recurso",
+ "resourceErrorPasswordRemoveDescription": "Ocorreu um erro ao remover a senha do recurso",
+ "resourceErrorPasswordSetup": "Erro ao definir senha do recurso",
+ "resourceErrorPasswordSetupDescription": "Ocorreu um erro ao definir a senha do recurso",
+ "resourceErrorPincodeRemove": "Erro ao remover código PIN do recurso",
+ "resourceErrorPincodeRemoveDescription": "Ocorreu um erro ao remover o código PIN do recurso",
+ "resourceErrorPincodeSetup": "Erro ao definir código PIN do recurso",
+ "resourceErrorPincodeSetupDescription": "Ocorreu um erro ao definir o código PIN do recurso",
+ "resourceErrorUsersRolesSave": "Falha ao definir funções",
+ "resourceErrorUsersRolesSaveDescription": "Ocorreu um erro ao definir as funções",
+ "resourceErrorWhitelistSave": "Falha ao salvar lista permitida",
+ "resourceErrorWhitelistSaveDescription": "Ocorreu um erro ao salvar a lista permitida",
+ "resourcePasswordSubmit": "Habilitar Proteção por Senha",
+ "resourcePasswordRemove": "Senha do recurso removida",
+ "resourcePasswordRemoveDescription": "A senha do recurso foi removida com sucesso",
+ "resourcePasswordSetup": "Senha do recurso definida",
+ "resourcePasswordSetupDescription": "A senha do recurso foi definida com sucesso",
+ "resourcePasswordSetupTitle": "Definir Senha",
+ "resourcePasswordSetupTitleDescription": "Defina uma senha para proteger este recurso",
+ "resourcePincode": "Código PIN",
+ "resourcePincodeSubmit": "Habilitar Proteção por Código PIN",
+ "resourcePincodeProtection": "Proteção por Código PIN {status}",
+ "resourcePincodeRemove": "Código PIN do recurso removido",
+ "resourcePincodeRemoveDescription": "O código PIN do recurso foi removido com sucesso",
+ "resourcePincodeSetup": "Código PIN do recurso definido",
+ "resourcePincodeSetupDescription": "O código PIN do recurso foi definido com sucesso",
+ "resourcePincodeSetupTitle": "Definir Código PIN",
+ "resourcePincodeSetupTitleDescription": "Defina um código PIN para proteger este recurso",
+ "resourceRoleDescription": "Administradores sempre podem acessar este recurso.",
+ "resourceUsersRoles": "Usuários e Funções",
+ "resourceUsersRolesDescription": "Configure quais usuários e funções podem visitar este recurso",
+ "resourceUsersRolesSubmit": "Salvar Usuários e Funções",
+ "resourceWhitelistSave": "Salvo com sucesso",
+ "resourceWhitelistSaveDescription": "As configurações da lista permitida foram salvas",
+ "ssoUse": "Usar SSO da Plataforma",
+ "ssoUseDescription": "Os usuários existentes só precisarão fazer login uma vez para todos os recursos que tiverem isso habilitado.",
+ "proxyErrorInvalidPort": "Número da porta inválido",
+ "subdomainErrorInvalid": "Subdomínio inválido",
+ "domainErrorFetch": "Erro ao buscar domínios",
+ "domainErrorFetchDescription": "Ocorreu um erro ao buscar os domínios",
+ "resourceErrorUpdate": "Falha ao atualizar recurso",
+ "resourceErrorUpdateDescription": "Ocorreu um erro ao atualizar o recurso",
+ "resourceUpdated": "Recurso atualizado",
+ "resourceUpdatedDescription": "O recurso foi atualizado com sucesso",
+ "resourceErrorTransfer": "Falha ao transferir recurso",
+ "resourceErrorTransferDescription": "Ocorreu um erro ao transferir o recurso",
+ "resourceTransferred": "Recurso transferido",
+ "resourceTransferredDescription": "O recurso foi transferido com sucesso",
+ "resourceErrorToggle": "Falha ao alternar recurso",
+ "resourceErrorToggleDescription": "Ocorreu um erro ao atualizar o recurso",
+ "resourceVisibilityTitle": "Visibilidade",
+ "resourceVisibilityTitleDescription": "Ativar ou desativar completamente a visibilidade do recurso",
+ "resourceGeneral": "Configurações Gerais",
+ "resourceGeneralDescription": "Configure as configurações gerais para este recurso",
+ "resourceEnable": "Ativar Recurso",
+ "resourceTransfer": "Transferir Recurso",
+ "resourceTransferDescription": "Transferir este recurso para um site diferente",
+ "resourceTransferSubmit": "Transferir Recurso",
+ "siteDestination": "Site de Destino",
+ "searchSites": "Pesquisar sites",
+ "accessRoleCreate": "Criar Função",
+ "accessRoleCreateDescription": "Crie uma nova função para agrupar usuários e gerenciar suas permissões.",
+ "accessRoleCreateSubmit": "Criar Função",
+ "accessRoleCreated": "Função criada",
+ "accessRoleCreatedDescription": "A função foi criada com sucesso.",
+ "accessRoleErrorCreate": "Falha ao criar função",
+ "accessRoleErrorCreateDescription": "Ocorreu um erro ao criar a função.",
+ "accessRoleErrorNewRequired": "Nova função é necessária",
+ "accessRoleErrorRemove": "Falha ao remover função",
+ "accessRoleErrorRemoveDescription": "Ocorreu um erro ao remover a função.",
+ "accessRoleName": "Nome da Função",
+ "accessRoleQuestionRemove": "Você está prestes a excluir a função {name}. Você não pode desfazer esta ação.",
+ "accessRoleRemove": "Remover Função",
+ "accessRoleRemoveDescription": "Remover uma função da organização",
+ "accessRoleRemoveSubmit": "Remover Função",
+ "accessRoleRemoved": "Função removida",
+ "accessRoleRemovedDescription": "A função foi removida com sucesso.",
+ "accessRoleRequiredRemove": "Antes de excluir esta função, selecione uma nova função para transferir os membros existentes.",
+ "manage": "Gerir",
+ "sitesNotFound": "Nenhum site encontrado."
}
diff --git a/messages/tr-TR.json b/messages/tr-TR.json
index d51ed9e1..aab356d1 100644
--- a/messages/tr-TR.json
+++ b/messages/tr-TR.json
@@ -54,8 +54,6 @@
"siteCreateDescription2": "Follow the steps below to create and connect a new site",
"siteCreateDescription": "Create a new site to start connecting your resources",
"close": "Close",
- "siteNameMin": "Name must be at least 2 characters.",
- "siteNameMax": "Name must not be longer than 30 characters.",
"siteErrorCreate": "Error creating site",
"siteErrorCreateKeyPair": "Key pair or site defaults not found",
"siteErrorCreateDefaults": "Site defaults not found",
@@ -71,7 +69,7 @@
"dockerRun": "Docker Run",
"siteLearnLocal": "Local sites do not tunnel, learn more",
"siteConfirmCopy": "I have copied the config",
- "searchSites": "Search sites...",
+ "searchSitesProgress": "Search sites...",
"siteAdd": "Add Site",
"siteInstallNewt": "Install Newt",
"siteInstallNewtDescription": "Get Newt running on your system",
@@ -111,7 +109,7 @@
"shareErrorDelete": "Failed to delete link",
"shareErrorDeleteMessage": "An error occurred deleting link",
"shareDeleted": "Link deleted",
- "shareDeletedDesciption": "The link has been deleted",
+ "shareDeletedDescription": "The link has been deleted",
"shareTokenDescription": "Your access token can be passed in two ways: as a query parameter or in the request headers. These must be passed from the client on every request for authenticated access.",
"accessToken": "Access Token",
"usageExamples": "Usage Examples",
@@ -234,7 +232,7 @@
"username": "Username",
"identityProvider": "Identity Provider",
"role": "Role",
- "accessRoleNameRequired": "Name is required",
+ "nameRequired": "Name is required",
"accessRolesManage": "Manage Roles",
"accessRolesDescription": "Configure roles to manage access to your organization",
"accessRolesSearch": "Search roles...",
@@ -252,8 +250,6 @@
"years": "Years",
"day": "{count, plural, =1 {# day} other {# days}}",
"apiKeysTitle": "API Key Information",
- "apiKeysNameMin": "Name must be at least 2 characters.",
- "apiKeysNameMax": "Name must not be longer than 255 characters.",
"apiKeysConfirmCopy2": "You must confirm that you have copied the API key.",
"apiKeysErrorCreate": "Error creating API key",
"apiKeysErrorSetPermission": "Error setting permissions",
@@ -363,10 +359,10 @@
"inviteRemoveErrorDescription": "An error occurred while removing the invitation.",
"inviteRemoved": "Invitation removed",
"inviteRemovedDescription": "The invitation for {email} has been removed.",
- "inviteQuestionRemove": "Are you sure you want to remove the invitation{email, plural, ='' {}, other { for #}}?",
+ "inviteQuestionRemove": "Are you sure you want to remove the invitation {email}?",
"inviteMessageRemove": "Once removed, this invitation will no longer be valid. You can always re-invite the user later.",
"inviteMessageConfirm": "To confirm, please type the email address of the invitation below.",
- "inviteQuestionRegenerate": "Are you sure you want to regenerate the invitation for{email, plural, ='' {}, other { for #}}? This will revoke the previous invitation.",
+ "inviteQuestionRegenerate": "Are you sure you want to regenerate the invitation for {email}? This will revoke the previous invitation.",
"inviteRemoveConfirm": "Confirm Remove Invitation",
"inviteRegenerated": "Invitation Regenerated",
"inviteSent": "A new invitation has been sent to {email}.",
@@ -382,5 +378,319 @@
"inviteValidityPeriodSelect": "Select validity period",
"inviteRegenerateMessage": "The invitation has been regenerated. The user must access the link below to accept the invitation.",
"inviteRegenerateButton": "Regenerate",
- "expiresAt": "Expires At"
+ "expiresAt": "Expires At",
+ "accessRoleUnknown": "Unknown Role",
+ "placeholder": "Placeholder",
+ "userErrorOrgRemove": "Failed to remove user",
+ "userErrorOrgRemoveDescription": "An error occurred while removing the user.",
+ "userOrgRemoved": "User removed",
+ "userOrgRemovedDescription": "The user {email} has been removed from the organization.",
+ "userQuestionOrgRemove": "Are you sure you want to remove {email} from the organization?",
+ "userMessageOrgRemove": "Once removed, this user will no longer have access to the organization. You can always re-invite them later, but they will need to accept the invitation again.",
+ "userMessageOrgConfirm": "To confirm, please type the name of the of the user below.",
+ "userRemoveOrgConfirm": "Confirm Remove User",
+ "userRemoveOrg": "Remove User from Organization",
+ "users": "Users",
+ "accessRoleMember": "Member",
+ "accessRoleOwner": "Owner",
+ "userConfirmed": "Confirmed",
+ "idpNameInternal": "Internal",
+ "emailInvalid": "Invalid email address",
+ "inviteValidityDuration": "Please select a duration",
+ "accessRoleSelectPlease": "Please select a role",
+ "usernameRequired": "Username is required",
+ "idpSelectPlease": "Please select an identity provider",
+ "idpGenericOidc": "Generic OAuth2/OIDC provider.",
+ "accessRoleErrorFetch": "Failed to fetch roles",
+ "accessRoleErrorFetchDescription": "An error occurred while fetching the roles",
+ "idpErrorFetch": "Failed to fetch identity providers",
+ "idpErrorFetchDescription": "An error occurred while fetching identity providers",
+ "userErrorExists": "User Already Exists",
+ "userErrorExistsDescription": "This user is already a member of the organization.",
+ "inviteError": "Failed to invite user",
+ "inviteErrorDescription": "An error occurred while inviting the user",
+ "userInvited": "User invited",
+ "userInvitedDescription": "The user has been successfully invited.",
+ "userErrorCreate": "Failed to create user",
+ "userErrorCreateDescription": "An error occurred while creating the user",
+ "userCreated": "User created",
+ "userCreatedDescription": "The user has been successfully created.",
+ "userTypeInternal": "Internal User",
+ "userTypeInternalDescription": "Invite a user to join your organization directly.",
+ "userTypeExternal": "External User",
+ "userTypeExternalDescription": "Create a user with an external identity provider.",
+ "accessUserCreateDescription": "Follow the steps below to create a new user",
+ "userSeeAll": "See All Users",
+ "userTypeTitle": "User Type",
+ "userTypeDescription": "Determine how you want to create the user",
+ "userSettings": "User Information",
+ "userSettingsDescription": "Enter the details for the new user",
+ "inviteEmailSent": "Send invite email to user",
+ "inviteValid": "Valid For",
+ "selectDuration": "Select duration",
+ "accessRoleSelect": "Select role",
+ "inviteEmailSentDescription": "An email has been sent to the user with the access link below. They must access the link to accept the invitation.",
+ "inviteSentDescription": "The user has been invited. They must access the link below to accept the invitation.",
+ "inviteExpiresIn": "The invite will expire in {days, plural, =1 {# day} other {# days}}.",
+ "idpTitle": "Identity Provider",
+ "idpSelect": "Select the identity provider for the external user",
+ "idpNotConfigured": "No identity providers are configured. Please configure an identity provider before creating external users.",
+ "usernameUniq": "This must match the unique username that exists in the selected identity provider.",
+ "emailOptional": "Email (Optional)",
+ "nameOptional": "Name (Optional)",
+ "accessControls": "Access Controls",
+ "userDescription2": "Manage the settings on this user",
+ "accessRoleErrorAdd": "Failed to add user to role",
+ "accessRoleErrorAddDescription": "An error occurred while adding user to the role.",
+ "userSaved": "User saved",
+ "userSavedDescription": "The user has been updated.",
+ "accessControlsDescription": "Manage what this user can access and do in the organization",
+ "accessControlsSubmit": "Save Access Controls",
+ "roles": "Roles",
+ "accessUsersRoles": "Manage Users & Roles",
+ "accessUsersRolesDescription": "Invite users and add them to roles to manage access to your organization",
+ "key": "Key",
+ "createdAt": "Created At",
+ "proxyErrorInvalidHeader": "Invalid custom Host Header value. Use domain name format, or save empty to unset custom Host Header.",
+ "proxyErrorTls": "Invalid TLS Server Name. Use domain name format, or save empty to remove the TLS Server Name.",
+ "targetErrorFetch": "Failed to fetch targets",
+ "targetErrorFetchDescription": "An error occurred while fetching targets",
+ "siteErrorFetch": "Failed to fetch resource",
+ "siteErrorFetchDescription": "An error occurred while fetching resource",
+ "targetErrorDuplicate": "Duplicate target",
+ "targetErrorDuplicateDescription": "A target with these settings already exists",
+ "targetWireGuardErrorInvalidIp": "Invalid target IP",
+ "targetWireGuardErrorInvalidIpDescription": "Target IP must be within the site subnet",
+ "targetsUpdated": "Targets updated",
+ "targetsUpdatedDescription": "Targets and settings updated successfully",
+ "targetsErrorUpdate": "Failed to update targets",
+ "targetsErrorUpdateDescription": "An error occurred while updating targets",
+ "targetTlsUpdate": "TLS settings updated",
+ "targetTlsUpdateDescription": "Your TLS settings have been updated successfully",
+ "targetErrorTlsUpdate": "Failed to update TLS settings",
+ "targetErrorTlsUpdateDescription": "An error occurred while updating TLS settings",
+ "proxyUpdated": "Proxy settings updated",
+ "proxyUpdatedDescription": "Your proxy settings have been updated successfully",
+ "proxyErrorUpdate": "Failed to update proxy settings",
+ "proxyErrorUpdateDescription": "An error occurred while updating proxy settings",
+ "targetAddr": "IP / Hostname",
+ "targetPort": "Port",
+ "targetProtocol": "Protocol",
+ "targetTlsSettings": "HTTPS & TLS Settings",
+ "targetTlsSettingsDescription": "Configure TLS settings for your resource",
+ "targetTlsSettingsAdvanced": "Advanced TLS Settings",
+ "targetTlsSni": "TLS Server Name (SNI)",
+ "targetTlsSniDescription": "The TLS Server Name to use for SNI. Leave empty to use the default.",
+ "targetTlsSubmit": "Save Settings",
+ "targets": "Targets Configuration",
+ "targetsDescription": "Set up targets to route traffic to your services",
+ "targetStickySessions": "Enable Sticky Sessions",
+ "targetStickySessionsDescription": "Keep connections on the same backend target for their entire session.",
+ "methodSelect": "Select method",
+ "targetSubmit": "Add Target",
+ "targetNoOne": "No targets. Add a target using the form.",
+ "targetNoOneDescription": "Adding more than one target above will enable load balancing.",
+ "targetsSubmit": "Save Targets",
+ "proxyAdditional": "Additional Proxy Settings",
+ "proxyAdditionalDescription": "Configure how your resource handles proxy settings",
+ "proxyCustomHeader": "Custom Host Header",
+ "proxyCustomHeaderDescription": "The host header to set when proxying requests. Leave empty to use the default.",
+ "proxyAdditionalSubmit": "Save Proxy Settings",
+ "subnetMaskErrorInvalid": "Invalid subnet mask. Must be between 0 and 32.",
+ "ipAddressErrorInvalidFormat": "Invalid IP address format",
+ "ipAddressErrorInvalidOctet": "Invalid IP address octet",
+ "path": "Path",
+ "ipAddressRange": "IP Range",
+ "rulesErrorFetch": "Failed to fetch rules",
+ "rulesErrorFetchDescription": "An error occurred while fetching rules",
+ "rulesErrorDuplicate": "Duplicate rule",
+ "rulesErrorDuplicateDescription": "A rule with these settings already exists",
+ "rulesErrorInvalidIpAddressRange": "Invalid CIDR",
+ "rulesErrorInvalidIpAddressRangeDescription": "Please enter a valid CIDR value",
+ "rulesErrorInvalidUrl": "Invalid URL path",
+ "rulesErrorInvalidUrlDescription": "Please enter a valid URL path value",
+ "rulesErrorInvalidIpAddress": "Invalid IP",
+ "rulesErrorInvalidIpAddressDescription": "Please enter a valid IP address",
+ "rulesErrorUpdate": "Failed to update rules",
+ "rulesErrorUpdateDescription": "An error occurred while updating rules",
+ "rulesUpdated": "Enable Rules",
+ "rulesUpdatedDescription": "Rule evaluation has been updated",
+ "rulesMatchIpAddressRangeDescription": "Enter an address in CIDR format (e.g., 103.21.244.0/22)",
+ "rulesMatchIpAddress": "Enter an IP address (e.g., 103.21.244.12)",
+ "rulesMatchUrl": "Enter a URL path or pattern (e.g., /api/v1/todos or /api/v1/*)",
+ "rulesErrorInvalidPriority": "Invalid Priority",
+ "rulesErrorInvalidPriorityDescription": "Please enter a valid priority",
+ "rulesErrorDuplicatePriority": "Duplicate Priorities",
+ "rulesErrorDuplicatePriorityDescription": "Please enter unique priorities",
+ "ruleUpdated": "Rules updated",
+ "ruleUpdatedDescription": "Rules updated successfully",
+ "ruleErrorUpdate": "Operation failed",
+ "ruleErrorUpdateDescription": "An error occurred during the save operation",
+ "rulesPriority": "Priority",
+ "rulesAction": "Action",
+ "rulesMatchType": "Match Type",
+ "value": "Value",
+ "rulesAbout": "About Rules",
+ "rulesAboutDescription": "Rules allow you to control access to your resource based on a set of criteria. You can create rules to allow or deny access based on IP address or URL path.",
+ "rulesActions": "Actions",
+ "rulesActionAlwaysAllow": "Always Allow: Bypass all authentication methods",
+ "rulesActionAlwaysDeny": "Always Deny: Block all requests; no authentication can be attempted",
+ "rulesMatchCriteria": "Matching Criteria",
+ "rulesMatchCriteriaIpAddress": "Match a specific IP address",
+ "rulesMatchCriteriaIpAddressRange": "Match a range of IP addresses in CIDR notation",
+ "rulesMatchCriteriaUrl": "Match a URL path or pattern",
+ "rulesEnable": "Enable Rules",
+ "rulesEnableDescription": "Enable or disable rule evaluation for this resource",
+ "rulesResource": "Resource Rules Configuration",
+ "rulesResourceDescription": "Configure rules to control access to your resource",
+ "ruleSubmit": "Add Rule",
+ "rulesNoOne": "No rules. Add a rule using the form.",
+ "rulesOrder": "Rules are evaluated by priority in ascending order.",
+ "rulesSubmit": "Save Rules",
+ "resourceErrorCreate": "Error creating resource",
+ "resourceErrorCreateDescription": "An error occurred when creating the resource",
+ "resourceErrorCreateMessage": "Error creating resource:",
+ "resourceErrorCreateMessageDescription": "An unexpected error occurred",
+ "sitesErrorFetch": "Error fetching sites",
+ "sitesErrorFetchDescription": "An error occurred when fetching the sites",
+ "domainsErrorFetch": "Error fetching domains",
+ "domainsErrorFetchDescription": "An error occurred when fetching the domains",
+ "none": "None",
+ "unknown": "Unknown",
+ "resources": "Resources",
+ "resourcesDescription": "Resources are proxies to applications running on your private network. Create a resource for any HTTP/HTTPS or raw TCP/UDP service on your private network. Each resource must be connected to a site to enable private, secure connectivity through an encrypted WireGuard tunnel.",
+ "resourcesWireGuardConnect": "Secure connectivity with WireGuard encryption",
+ "resourcesMultipleAuthenticationMethods": "Configure multiple authentication methods",
+ "resourcesUsersRolesAccess": "User and role-based access control",
+ "resourcesErrorUpdate": "Failed to toggle resource",
+ "resourcesErrorUpdateDescription": "An error occurred while updating the resource",
+ "access": "Access",
+ "shareLink": "{resource} Share Link",
+ "resourceSelect": "Select resource",
+ "shareLinks": "Share Links",
+ "share": "Shareable Links",
+ "shareDescription2": "Create shareable links to your resources. Links provide temporary or unlimited access to your resource. You can configure the expiration duration of the link when you create one.",
+ "shareEasyCreate": "Easy to create and share",
+ "shareConfigurableExpirationDuration": "Configurable expiration duration",
+ "shareSecureAndRevocable": "Secure and revocable",
+ "nameMin": "Name must be at least {len} characters.",
+ "nameMax": "Name must not be longer than {len} characters.",
+ "sitesConfirmCopy": "Please confirm that you have copied the config.",
+ "unknownCommand": "Unknown command",
+ "newtErrorFetchReleases": "Failed to fetch release info: {err}",
+ "newtErrorFetchLatest": "Error fetching latest release: {err}",
+ "newtEndpoint": "Newt Endpoint",
+ "newtId": "Newt ID",
+ "newtSecretKey": "Newt Secret Key",
+ "architecture": "Architecture",
+ "sites": "Sites",
+ "siteWgAnyClients": "Use any WireGuard client to connect. You will have to address your internal resources using the peer IP.",
+ "siteWgCompatibleAllClients": "Compatible with all WireGuard clients",
+ "siteWgManualConfigurationRequired": "Manual configuration required",
+ "userErrorNotAdminOrOwner": "User is not an admin or owner",
+ "pangolinSettings": "Settings - Pangolin",
+ "accessRoleYour": "Your role:",
+ "accessRoleSelect2": "Select a role",
+ "accessUserSelect": "Select a user",
+ "otpEmailEnter": "Enter an email",
+ "otpEmailEnterDescription": "Press enter to add an email after typing it in the input field.",
+ "otpEmailErrorInvalid": "Invalid email address. Wildcard (*) must be the entire local part.",
+ "otpEmailSmtpRequired": "SMTP Required",
+ "otpEmailSmtpRequiredDescription": "SMTP must be enabled on the server to use one-time password authentication.",
+ "otpEmailTitle": "One-time Passwords",
+ "otpEmailTitleDescription": "Require email-based authentication for resource access",
+ "otpEmailWhitelist": "Email Whitelist",
+ "otpEmailWhitelistList": "Whitelisted Emails",
+ "otpEmailWhitelistListDescription": "Only users with these email addresses will be able to access this resource. They will be prompted to enter a one-time password sent to their email. Wildcards (*@example.com) can be used to allow any email address from a domain.",
+ "otpEmailWhitelistSave": "Save Whitelist",
+ "passwordAdd": "Add Password",
+ "passwordRemove": "Remove Password",
+ "pincodeAdd": "Add PIN Code",
+ "pincodeRemove": "Remove PIN Code",
+ "resourceAuthMethods": "Authentication Methods",
+ "resourceAuthMethodsDescriptions": "Allow access to the resource via additional auth methods",
+ "resourceAuthSettingsSave": "Saved successfully",
+ "resourceAuthSettingsSaveDescription": "Authentication settings have been saved",
+ "resourceErrorAuthFetch": "Failed to fetch data",
+ "resourceErrorAuthFetchDescription": "An error occurred while fetching the data",
+ "resourceErrorPasswordRemove": "Error removing resource password",
+ "resourceErrorPasswordRemoveDescription": "An error occurred while removing the resource password",
+ "resourceErrorPasswordSetup": "Error setting resource password",
+ "resourceErrorPasswordSetupDescription": "An error occurred while setting the resource password",
+ "resourceErrorPincodeRemove": "Error removing resource pincode",
+ "resourceErrorPincodeRemoveDescription": "An error occurred while removing the resource pincode",
+ "resourceErrorPincodeSetup": "Error setting resource PIN code",
+ "resourceErrorPincodeSetupDescription": "An error occurred while setting the resource PIN code",
+ "resourceErrorUsersRolesSave": "Failed to set roles",
+ "resourceErrorUsersRolesSaveDescription": "An error occurred while setting the roles",
+ "resourceErrorWhitelistSave": "Failed to save whitelist",
+ "resourceErrorWhitelistSaveDescription": "An error occurred while saving the whitelist",
+ "resourcePasswordSubmit": "Enable Password Protection",
+ "resourcePasswordRemove": "Resource password removed",
+ "resourcePasswordRemoveDescription": "The resource password has been removed successfully",
+ "resourcePasswordSetup": "Resource password set",
+ "resourcePasswordSetupDescription": "The resource password has been set successfully",
+ "resourcePasswordSetupTitle": "Set Password",
+ "resourcePasswordSetupTitleDescription": "Set a password to protect this resource",
+ "resourcePincode": "PIN Code",
+ "resourcePincodeSubmit": "Enable PIN Code Protection",
+ "resourcePincodeProtection": "PIN Code Protection {status}",
+ "resourcePincodeRemove": "Resource pincode removed",
+ "resourcePincodeRemoveDescription": "The resource password has been removed successfully",
+ "resourcePincodeSetup": "Resource PIN code set",
+ "resourcePincodeSetupDescription": "The resource pincode has been set successfully",
+ "resourcePincodeSetupTitle": "Set Pincode",
+ "resourcePincodeSetupTitleDescription": "Set a pincode to protect this resource",
+ "resourceRoleDescription": "Admins can always access this resource.",
+ "resourceUsersRoles": "Users & Roles",
+ "resourceUsersRolesDescription": "Configure which users and roles can visit this resource",
+ "resourceUsersRolesSubmit": "Save Users & Roles",
+ "resourceWhitelistSave": "Saved successfully",
+ "resourceWhitelistSaveDescription": "Whitelist settings have been saved",
+ "ssoUse": "Use Platform SSO",
+ "ssoUseDescription": "Existing users will only have to log in once for all resources that have this enabled.",
+ "proxyErrorInvalidPort": "Invalid port number",
+ "subdomainErrorInvalid": "Invalid subdomain",
+ "domainErrorFetch": "Error fetching domains",
+ "domainErrorFetchDescription": "An error occurred when fetching the domains",
+ "resourceErrorUpdate": "Failed to update resource",
+ "resourceErrorUpdateDescription": "An error occurred while updating the resource",
+ "resourceUpdated": "Resource updated",
+ "resourceUpdatedDescription": "The resource has been updated successfully",
+ "resourceErrorTransfer": "Failed to transfer resource",
+ "resourceErrorTransferDescription": "An error occurred while transferring the resource",
+ "resourceTransferred": "Resource transferred",
+ "resourceTransferredDescription": "The resource has been transferred successfully",
+ "resourceErrorToggle": "Failed to toggle resource",
+ "resourceErrorToggleDescription": "An error occurred while updating the resource",
+ "resourceVisibilityTitle": "Visibility",
+ "resourceVisibilityTitleDescription": "Completely enable or disable resource visibility",
+ "resourceGeneral": "General Settings",
+ "resourceGeneralDescription": "Configure the general settings for this resource",
+ "resourceEnable": "Enable Resource",
+ "resourceTransfer": "Transfer Resource",
+ "resourceTransferDescription": "Transfer this resource to a different site",
+ "resourceTransferSubmit": "Transfer Resource",
+ "siteDestination": "Destination Site",
+ "searchSites": "Search sites",
+ "accessRoleCreate": "Create Role",
+ "accessRoleCreateDescription": "Create a new role to group users and manage their permissions.",
+ "accessRoleCreateSubmit": "Create Role",
+ "accessRoleCreated": "Role created",
+ "accessRoleCreatedDescription": "The role has been successfully created.",
+ "accessRoleErrorCreate": "Failed to create role",
+ "accessRoleErrorCreateDescription": "An error occurred while creating the role.",
+ "accessRoleErrorNewRequired": "New role is required",
+ "accessRoleErrorRemove": "Failed to remove role",
+ "accessRoleErrorRemoveDescription": "An error occurred while removing the role.",
+ "accessRoleName": "Role Name",
+ "accessRoleQuestionRemove": "You're about to delete the {name} role. You cannot undo this action.",
+ "accessRoleRemove": "Remove Role",
+ "accessRoleRemoveDescription": "Remove a role from the organization",
+ "accessRoleRemoveSubmit": "Remove Role",
+ "accessRoleRemoved": "Role removed",
+ "accessRoleRemovedDescription": "The role has been successfully removed.",
+ "accessRoleRequiredRemove": "Before deleting this role, please select a new role to transfer existing members to.",
+ "manage": "Manage",
+ "sitesNotFound": "No sites found."
}
diff --git a/src/app/[orgId]/OrganizationLandingCard.tsx b/src/app/[orgId]/OrganizationLandingCard.tsx
index baffc09d..b44315c0 100644
--- a/src/app/[orgId]/OrganizationLandingCard.tsx
+++ b/src/app/[orgId]/OrganizationLandingCard.tsx
@@ -11,6 +11,7 @@ import {
} from "@/components/ui/card";
import { Button } from "@/components/ui/button";
import { Users, Globe, Database, Cog, Settings, Waypoints, Combine } from "lucide-react";
+import { useTranslations } from "next-intl";
interface OrgStat {
label: string;
@@ -38,19 +39,21 @@ export default function OrganizationLandingCard(
) {
const [orgData] = useState(props);
+ const t = useTranslations();
+
const orgStats: OrgStat[] = [
{
- label: "Sites",
+ label: t('sites'),
value: orgData.overview.stats.sites,
icon:
- {t('inviteQuestionRemove', {email: selectedInvitation?.email})} + {t('inviteQuestionRemove', {email: selectedInvitation?.email || ''})}
{t('inviteMessageRemove')} diff --git a/src/app/[orgId]/settings/access/invitations/RegenerateInvitationForm.tsx b/src/app/[orgId]/settings/access/invitations/RegenerateInvitationForm.tsx index a76a8f6c..59c1b1b4 100644 --- a/src/app/[orgId]/settings/access/invitations/RegenerateInvitationForm.tsx +++ b/src/app/[orgId]/settings/access/invitations/RegenerateInvitationForm.tsx @@ -177,7 +177,7 @@ export default function RegenerateInvitationForm({ {!inviteLink ? (
- {t('inviteQuestionRegenerate', {email: invitation?.email})} + {t('inviteQuestionRegenerate', {email: invitation?.email || ''})}
- You're about to delete the{" "} - {roleToDelete.name} role. You cannot - undo this action. + {t('accessRoleQuestionRemove', {name: roleToDelete.name})}
- Before deleting this role, please select a - new role to transfer existing members to. + {t('accessRoleRequiredRemove')}
- Rules allow you to control access to your resource - based on a set of criteria. You can create rules to - allow or deny access based on IP address or URL - path. + {t('rulesAboutDescription')}
- Use any WireGuard client to connect. You will have to - address your internal resources using the peer IP. + {t('siteWgAnyClients')}