diff --git a/src/i18n/i18n.ts b/src/i18n/i18n.ts index 0a723003..270a3072 100644 --- a/src/i18n/i18n.ts +++ b/src/i18n/i18n.ts @@ -9,12 +9,13 @@ import ptbrTranslation from "../locales/pt-BR/translation.json"; import ruTranslation from "../locales/ru/translation.json"; import frTranslation from "../locales/fr/translation.json"; import koTranslation from "../locales/ko/translation.json"; +import itTranslation from "../locales/it/translation.json"; i18n .use(LanguageDetector) .use(initReactI18next) .init({ - supportedLngs: ["en", "zh", "de", "ptbr", "ru", "fr", "ko"], + supportedLngs: ["en", "zh", "de", "ptbr", "ru", "fr", "ko", "it"], fallbackLng: "en", debug: false, @@ -48,6 +49,9 @@ i18n ko: { translation: koTranslation, }, + it: { + translation: itTranslation, + }, }, interpolation: { diff --git a/src/locales/de/translation.json b/src/locales/de/translation.json index 6adcebfc..327d7e1b 100644 --- a/src/locales/de/translation.json +++ b/src/locales/de/translation.json @@ -28,7 +28,7 @@ "failedToFetchCredentials": "Anmeldeinformationen konnten nicht abgerufen werden", "credentialDeletedSuccessfully": "Anmeldeinformationen erfolgreich gelöscht", "failedToDeleteCredential": "Fehler beim Löschen der Anmeldeinformationen", - "confirmDeleteCredential": "Möchten Sie die Anmeldeinformationen „{{name}}“ wirklich löschen?", + "confirmDeleteCredential": "Möchten Sie die Anmeldeinformationen \"{{name}}\" wirklich löschen?", "credentialCreatedSuccessfully": "Anmeldeinformationen erfolgreich erstellt", "credentialUpdatedSuccessfully": "Anmeldeinformationen erfolgreich aktualisiert", "failedToSaveCredential": "Fehler beim Speichern der Anmeldeinformationen", @@ -37,13 +37,13 @@ "loadingCredentials": "Anmeldeinformationen werden geladen...", "retry": "Wiederholen", "noCredentials": "Keine Anmeldeinformationen", - "noCredentialsMessage": "Sie haben noch keine Anmeldeinformationen hinzugefügt. Klicken Sie auf „Anmeldeinformationen hinzufügen“, um zu beginnen.", + "noCredentialsMessage": "Sie haben noch keine Anmeldeinformationen hinzugefügt. Klicken Sie auf \"Anmeldeinformationen hinzufügen\", um zu beginnen.", "sshCredentials": "SSH-Anmeldeinformationen", "credentialsCount": "{{count}} Anmeldeinformationen", "refresh": "Aktualisieren", "passwordRequired": "Passwort erforderlich", "sshKeyRequired": "SSH-Schlüssel ist erforderlich", - "credentialAddedSuccessfully": "Anmeldeinformationen „{{name}}“ erfolgreich hinzugefügt", + "credentialAddedSuccessfully": "Anmeldeinformationen \"{{name}}\" erfolgreich hinzugefügt", "general": "Allgemein", "description": "Beschreibung", "folder": "Ordner", @@ -54,7 +54,7 @@ "sshPrivateKey": "Privater SSH-Schlüssel", "upload": "Hochladen", "updateKey": "Schlüssel aktualisieren", - "keyPassword": "Schlüsselkennwort (optional)", + "keyPassword": "Schlüsselpasswort", "keyType": "Schlüsseltyp", "keyTypeRSA": "RSA", "keyTypeECDSA": "ECDSA", @@ -108,6 +108,7 @@ "orCreateNewFolder": "Oder erstellen Sie einen neuen Ordner", "addTag": "Schlagwort hinzufügen", "saving": "Speichern...", + "credentialId": "Anmeldedaten ID", "overview": "Überblick", "security": "Sicherheit", "usage": "Verwendung", @@ -136,11 +137,11 @@ "folderView": "Ordner", "unknownCredential": "Unbekannt", "confirmRemoveFromFolder": "Sind Sie sicher, dass Sie \"{{name}}\" aus Ordner \"{{folder}}\" entfernen möchten? Die Zugangsdaten werden in den Bereich \"Unkategorisiert\" verschoben.", - "removedFromFolder": "Anmeldeinformationen „{{name}}“ erfolgreich aus dem Ordner entfernt", + "removedFromFolder": "Anmeldeinformationen \"{{name}}\" erfolgreich aus dem Ordner entfernt", "failedToRemoveFromFolder": "Anmeldeinformationen konnten nicht aus dem Ordner entfernt werden", - "folderRenamed": "Ordner „{{oldName}}“ erfolgreich in „{{newName}}“ umbenannt", + "folderRenamed": "Ordner \"{{oldName}}\" erfolgreich in \"{{newName}}\" umbenannt", "failedToRenameFolder": "Ordner konnte nicht umbenannt werden", - "movedToFolder": "Anmeldeinformationen „{{name}}“ wurden erfolgreich nach „{{folder}}“ verschoben.", + "movedToFolder": "Anmeldeinformationen \"{{name}}\" wurden erfolgreich nach \"{{folder}}\" verschoben.", "failedToMoveToFolder": "Anmeldeinformationen konnten nicht in den Ordner verschoben werden", "sshPublicKey": "Öffentlicher SSH-Schlüssel", "publicKeyNote": "Der öffentliche Schlüssel ist optional, wird jedoch zur Schlüsselvalidierung empfohlen", @@ -164,8 +165,7 @@ "generateKeyPairNote": "Generieren Sie direkt ein neues SSH-Schlüsselpaar. Dadurch werden alle vorhandenen Schlüssel im Formular ersetzt.", "invalidKey": "Ungültiger Schlüssel", "detectionError": "Erkennungsfehler", - "unknown": "Unbekannt", - "credentialId": "Anmeldedaten ID" + "unknown": "Unbekannt" }, "dragIndicator": { "error": "Fehler: {{error}}", @@ -180,15 +180,52 @@ "sshTools": { "title": "SSH-Tools", "closeTools": "SSH-Tools schließen", - "keyRecording": "Tastatureingabe auf allen Terminals", - "startKeyRecording": "Übertragung starten", - "stopKeyRecording": "Übertragung stoppen", + "keyRecording": "Tastenaufzeichnung", + "startKeyRecording": "Aufzeichnung starten", + "stopKeyRecording": "Aufzeichnung stoppen", "selectTerminals": "Terminals auswählen:", - "typeCommands": "Geben Sie Befehle ein (alle Tasten werden unterstützt):", + "typeCommands": "Befehle eingeben (alle Tasten werden unterstützt):", "commandsWillBeSent": "Befehle werden an {{count}} ausgewählte Terminals gesendet.", "settings": "Einstellungen", "enableRightClickCopyPaste": "Rechtsklick-Kopieren/Einfügen aktivieren", - "shareIdeas": "Haben Sie Vorschläge welche weiteren SSH-Tools ergänzt werden sollen? Dann teilen Sie diese gerne mit uns auf" + "shareIdeas": "Haben Sie Ideen, was als Nächstes für SSH-Tools kommen sollte? Teilen Sie sie auf", + "scripts": { + "inputPlaceholder": "z.B., Systembefehle, Docker-Skripte" + } + }, + "snippets": { + "title": "Snippets", + "new": "Neues Snippet", + "create": "Snippet erstellen", + "edit": "Snippet bearbeiten", + "run": "Ausführen", + "empty": "Noch keine Snippets", + "emptyHint": "Erstellen Sie ein Snippet, um häufig verwendete Befehle zu speichern", + "name": "Name", + "description": "Beschreibung", + "content": "Befehl", + "namePlaceholder": "z.B. Nginx neu starten", + "descriptionPlaceholder": "Optionale Beschreibung", + "contentPlaceholder": "z.B. sudo systemctl restart nginx", + "nameRequired": "Name ist erforderlich", + "contentRequired": "Befehl ist erforderlich", + "createDescription": "Erstellen Sie einen neuen Befehls-Snippet für die schnelle Ausführung", + "editDescription": "Diesen Befehls-Snippet bearbeiten", + "deleteConfirmTitle": "Snippet löschen", + "deleteConfirmDescription": "Sind Sie sicher, dass Sie \"{{name}}\" löschen möchten?", + "createSuccess": "Snippet erfolgreich erstellt", + "updateSuccess": "Snippet erfolgreich aktualisiert", + "deleteSuccess": "Snippet erfolgreich gelöscht", + "createFailed": "Fehler beim Erstellen des Snippets", + "updateFailed": "Fehler beim Aktualisieren des Snippets", + "deleteFailed": "Fehler beim Löschen des Snippets", + "failedToFetch": "Fehler beim Abrufen der Snippets", + "executeSuccess": "Wird ausgeführt: {{name}}", + "copySuccess": "\"{{name}}\" in die Zwischenablage kopiert", + "runTooltip": "Diesen Snippet im Terminal ausführen", + "copyTooltip": "Snippet in die Zwischenablage kopieren", + "editTooltip": "Diesen Snippet bearbeiten", + "deleteTooltip": "Diesen Snippet löschen" }, "commandHistory": { "title": "Verlauf", @@ -227,10 +264,10 @@ "saving": "Speichern...", "saveConfig": "Konfiguration speichern", "helpText": "Geben Sie die URL ein, unter der Ihr Termix-Server ausgeführt wird (z. B. http://localhost:30001 oder https://ihr-server.com).", - "changeServer": "Server ändern", - "mustIncludeProtocol": "Server-URL muss mit http:// oder https:// beginnen", + "warning": "Warnung", "notValidatedWarning": "URL nicht validiert - stellen Sie sicher, dass sie korrekt ist", - "warning": "Warnung" + "changeServer": "Server ändern", + "mustIncludeProtocol": "Server-URL muss mit http:// oder https:// beginnen" }, "versionCheck": { "error": "Fehler bei der Versionsprüfung", @@ -266,6 +303,9 @@ "loading": "Laden...", "required": "Erforderlich", "optional": "Optional", + "connect": "Verbinden", + "connecting": "Verbinde...", + "creating": "Erstelle...", "clear": "Löschen", "toggleSidebar": "Seitenleiste ein-/ausblenden", "sidebar": "Seitenleiste", @@ -331,8 +371,6 @@ "next": "Weiter", "previous": "Vorherige", "refresh": "Aktualisieren", - "connect": "Verbinden", - "connecting": "Verbinde...", "settings": "Einstellungen", "profile": "Profil", "help": "Hilfe", @@ -342,7 +380,7 @@ "changeAccountPassword": "Passwort für Ihr Konto ändern", "passwordResetTitle": "Passwort zurücksetzen", "passwordResetDescription": "Sie sind dabei, Ihr Passwort zurückzusetzen. Dadurch werden Sie von allen aktiven Sitzungen abgemeldet.", - "enterSixDigitCode": "Geben Sie den 6-stelligen Code aus den Docker-Container-Protokollen / logs für den Benutzer ein:", + "enterSixDigitCode": "Geben Sie den 6-stelligen Code aus den Docker-Container-Protokollen für den Benutzer ein:", "enterNewPassword": "Geben Sie Ihr neues Passwort für den Benutzer ein:", "passwordsDoNotMatch": "Passwörter stimmen nicht überein", "passwordMinLength": "Das Passwort muss mindestens 6 Zeichen lang sein", @@ -353,7 +391,11 @@ "documentation": "Dokumentation", "retry": "Wiederholen", "checking": "Prüfen...", - "checkingDatabase": "Prüfen der Datenbankverbindung..." + "checkingDatabase": "Prüfen der Datenbankverbindung...", + "actions": "Aktionen", + "remove": "Entfernen", + "revoke": "Widerrufen", + "create": "Erstellen" }, "nav": { "home": "Startseite", @@ -366,14 +408,14 @@ "admin": "Administration", "userProfile": "Benutzerprofil", "tools": "Werkzeuge", + "snippets": "Snippets", "newTab": "Neuer Tab", "splitScreen": "Geteilter Bildschirm", "closeTab": "Tab schließen", "sshManager": "SSH-Manager", "hostManager": "Host-Manager", "cannotSplitTab": "Dieser Tab kann nicht geteilt werden", - "tabNavigation": "Tab-Navigation", - "snippets": "Snippets" + "tabNavigation": "Tab-Navigation" }, "admin": { "title": "Administration", @@ -449,6 +491,44 @@ "linkToPasswordAccount": "Mit Passwort-Konto verknüpfen", "linkOIDCDialogTitle": "OIDC-Konto mit Passwort-Konto verknüpfen", "linkOIDCDialogDescription": "Verknüpfen Sie {{username}} (OIDC-Benutzer) mit einem bestehenden Passwort-Konto. Dies aktiviert die duale Authentifizierung für das Passwort-Konto.", + "createUser": "Benutzer erstellen", + "createUserDescription": "Erstellen Sie einen neuen lokalen Benutzer mit Benutzername und Passwort", + "enterUsername": "Benutzernamen eingeben", + "enterPassword": "Passwort eingeben", + "userCreatedSuccessfully": "Benutzer {{username}} erfolgreich erstellt", + "failedToCreateUser": "Fehler beim Erstellen des Benutzers", + "manageUser": "Benutzer verwalten", + "manageUserDescription": "Benutzereinstellungen, Rollen und Berechtigungen verwalten", + "authType": "Authentifizierungstyp", + "adminStatus": "Administratorstatus", + "userId": "Benutzer-ID", + "regularUser": "Regulärer Benutzer", + "adminPrivileges": "Administratorrechte", + "administratorRole": "Administratorrolle", + "administratorRoleDescription": "Vollständigen Systemzugriff und Verwaltungsrechte gewähren", + "passwordManagement": "Passwortverwaltung", + "passwordResetWarning": "Das Zurücksetzen des Passworts eines Benutzers löscht alle seine Daten (SSH-Hosts, Anmeldeinformationen, Einstellungen). Diese Aktion kann nicht rückgängig gemacht werden.", + "resetUserPassword": "Benutzerpasswort zurücksetzen", + "resettingPassword": "Wird zurückgesetzt...", + "passwordResetInitiated": "Passwort-Reset für {{username}} eingeleitet. Reset-Code gesendet.", + "failedToResetPassword": "Fehler beim Einleiten des Passwort-Resets", + "sessionManagement": "Sitzungsverwaltung", + "revokeAllSessions": "Alle Sitzungen widerrufen", + "revokeAllSessionsDescription": "Abmeldung von allen Geräten und Sitzungen erzwingen", + "revoking": "Wird widerrufen...", + "revokeAll": "Alle widerrufen", + "dangerZone": "Gefahrenzone", + "deleteUserTitle": "Benutzerkonto löschen", + "deleteUserWarning": "Dieses Benutzerkonto und alle zugehörigen Daten dauerhaft löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "deleting": "Wird gelöscht...", + "cannotDeleteSelf": "Sie können Ihr eigenes Konto nicht löschen", + "cannotRemoveLastAdmin": "Der letzte Administrator kann nicht entfernt werden", + "cannotRemoveOwnAdmin": "Sie können Ihre eigenen Administratorrechte nicht entfernen", + "cannotModifyOwnAdminStatus": "Sie können Ihren eigenen Administratorstatus nicht ändern", + "dualAuth": "Duale Authentifizierung", + "externalOIDC": "Extern (OIDC)", + "localPassword": "Lokales Passwort", + "confirmRevokeOwnSessions": "Möchten Sie wirklich alle Ihre eigenen Sitzungen widerrufen? Sie werden abgemeldet.", "linkOIDCWarningTitle": "Warnung: OIDC-Benutzerdaten werden gelöscht", "linkOIDCActionDeleteUser": "Löschen Sie das OIDC-Benutzerkonto und alle seine Daten", "linkOIDCActionAddCapability": "Fügen Sie dem Ziel-Passwort-Konto die OIDC-Anmeldefunktion hinzu", @@ -591,1195 +671,31 @@ "passwordLoginDisabledWarning": "Passwort-Login ist deaktiviert. Stellen Sie sicher, dass OIDC ordnungsgemäß konfiguriert ist, sonst können Sie sich nicht bei Termix anmelden.", "oidcRequiredWarning": "KRITISCH: Passwort-Login ist deaktiviert. Wenn Sie OIDC zurücksetzen oder falsch konfigurieren, verlieren Sie den gesamten Zugriff auf Termix und Ihre Instanz wird unbrauchbar. Fahren Sie nur fort, wenn Sie absolut sicher sind.", "confirmDisableOIDCWarning": "WARNUNG: Sie sind dabei, OIDC zu deaktivieren, während auch die Passwort-Anmeldung deaktiviert ist. Dies macht Ihre Termix-Instanz unbrauchbar und Sie verlieren den gesamten Zugriff. Sind Sie absolut sicher, dass Sie fortfahren möchten?", - "failedToUpdatePasswordLoginStatus": "Aktualisierung des Passwort-Login-Status fehlgeschlagen" - }, - "hosts": { - "title": "Host-Manager", - "sshHosts": "SSH-Hosts", - "noHosts": "Keine SSH-Hosts", - "noHostsMessage": "Sie haben noch keine SSH-Hosts hinzugefügt. Klicken Sie auf \"Host hinzufügen\", um zu beginnen.", - "loadingHosts": "Hosts werden geladen...", - "failedToLoadHosts": "Hosts konnten nicht geladen werden", - "retry": "Wiederholen", - "refresh": "Aktualisieren", - "hostsCount": "{{count}} Hosts", - "importJson": "JSON importieren", - "importing": "Importieren...", - "importJsonTitle": "SSH-Hosts aus JSON importieren", - "importJsonDesc": "Laden Sie eine JSON-Datei hoch, um mehrere SSH-Hosts in einem Schritt zu importieren (max. 100).", - "downloadSample": "Beispiel herunterladen", - "formatGuide": "Formatleitfaden", - "exportCredentialWarning": "Warnung: Der Host \"{{name}}\" verwendet eine Anmeldeauthentifizierung. Die exportierte Datei enthält keine Anmeldedaten und muss nach dem Import manuell neu konfiguriert werden. Möchten Sie fortfahren?", - "exportSensitiveDataWarning": "Warnung: Der Host \"{{name}}\" enthält vertrauliche Authentifizierungsdaten (Passwort/SSH-Schlüssel). Die exportierte Datei wird diese Daten im Klartext enthalten. Bitte bewahren Sie die Datei sicher auf und löschen Sie sie nach der Verwendung. Möchten Sie fortfahren?", - "uncategorized": "Unkategorisiert", - "confirmDelete": "Möchten Sie \"{{name}}\" wirklich löschen?", - "failedToDeleteHost": "Host konnte nicht gelöscht werden", - "failedToExportHost": "Export des Hosts fehlgeschlagen. Bitte stellen Sie sicher, dass Sie angemeldet sind und Zugriff auf die Hostdaten haben.", - "jsonMustContainHosts": "JSON muss ein \"hosts\"-Array enthalten oder selbst ein Array von Hosts sein", - "noHostsInJson": "Keine Hosts in JSON-Datei gefunden", - "maxHostsAllowed": "Pro Import sind maximal 100 Hosts erlaubt", - "importCompleted": "Import abgeschlossen: {{success}} erfolgreich, {{failed}} fehlgeschlagen", - "importFailed": "Import fehlgeschlagen", - "importError": "Importfehler", - "failedToImportJson": "JSON-Datei konnte nicht importiert werden", - "connectionDetails": "Verbindungsdetails", - "organization": "Organisation", - "ipAddress": "IP-Adresse", - "port": "Port", - "name": "Name", - "username": "Benutzername", - "folder": "Ordner", - "tags": "Tags", - "pin": "Anheften", - "passwordRequired": "Bei Verwendung der Passwort-Authentifizierung ist ein Passwort erforderlich", - "sshKeyRequired": "Bei Verwendung der Schlüssel-Authentifizierung ist ein privater SSH-Schlüssel erforderlich", - "keyTypeRequired": "Bei Verwendung der Schlüssel-Authentifizierung ist der Schlüsseltyp erforderlich", - "mustSelectValidSshConfig": "Sie müssen eine gültige SSH-Konfiguration aus der Liste auswählen", - "addHost": "Host hinzufügen", - "editHost": "Host bearbeiten", - "cloneHost": "Host klonen", - "updateHost": "Host aktualisieren", - "hostUpdatedSuccessfully": "Host \"{{name}}\" wurde erfolgreich aktualisiert!", - "hostAddedSuccessfully": "Host \"{{name}}\" wurde erfolgreich hinzugefügt!", - "hostDeletedSuccessfully": "Host \"{{name}}\" wurde erfolgreich gelöscht!", - "failedToSaveHost": "Host konnte nicht gespeichert werden. Bitte versuchen Sie es erneut.", - "enableTerminal": "Terminal aktivieren", - "enableTerminalDesc": "Host-Sichtbarkeit im Terminal-Tab aktivieren/deaktivieren", - "enableTunnel": "Tunnel aktivieren", - "enableTunnelDesc": "Sichtbarkeit des Hosts im Tab \"Tunnel\" aktivieren/deaktivieren", - "enableFileManager": "Dateimanager aktivieren", - "enableFileManagerDesc": "Sichtbarkeit des Hosts im Reiter \"Dateimanager\" aktivieren/deaktivieren", - "defaultPath": "Standard-Pfad", - "defaultPathDesc": "Standardverzeichnis beim Öffnen des Dateimanagers für diesen Host", - "tunnelConnections": "Tunnel-Verbindungen", - "connection": "Verbindung", - "remove": "Entfernen", - "sourcePort": "Quellport", - "sourcePortDesc": " (Quelle bezieht sich auf die aktuellen Verbindungsdetails im Reiter Allgemein)", - "endpointPort": "Endpunkt-Port", - "endpointSshConfig": "SSH-Konfiguration für Endpunkte", - "tunnelForwardDescription": "Dieser Tunnel leitet den Datenverkehr vom Port {{sourcePort}} auf der Quellmaschine (aktuelle Verbindungsdetails auf der Registerkarte \"Allgemein\") an den Port {{endpointPort}} auf der Endpunktmaschine weiter.", - "maxRetries": "Max. Wiederholungsversuche", - "maxRetriesDescription": "Maximale Anzahl der Wiederholungsversuche für die Tunnelverbindung.", - "retryInterval": "Wiederholungsintervall (Sekunden)", - "retryIntervalDescription": "Wartezeit zwischen Wiederholungsversuchen.", - "autoStartContainer": "Automatischer Start beim Container-Start", - "autoStartDesc": "Diesen Tunnel beim Start des Containers automatisch starten", - "addConnection": "Tunnelverbindung hinzufügen", - "sshpassRequired": "sshpass erforderlich für die Passwort-Authentifizierung", - "sshpassRequiredDesc": "Für die Passwort-Authentifizierung in Tunneln muss sshpass auf dem System installiert sein.", - "otherInstallMethods": "Andere Installationsmethoden:", - "debianUbuntuEquivalent": "(Debian/Ubuntu) oder das entsprechende Pendant für Ihr Betriebssystem.", - "or": "oder", - "centosRhelFedora": "CentOS/RHEL/Fedora", - "macos": "macOS", - "windows": "Windows", - "sshServerConfigRequired": "SSH-Serverkonfiguration erforderlich", - "sshServerConfigDesc": "Für Tunnelverbindungen muss der SSH-Server so konfiguriert sein, dass Portweiterleitung möglich ist:", - "gatewayPortsYes": "Remote-Ports an alle Schnittstellen binden", - "allowTcpForwardingYes": "Portweiterleitung aktivieren", - "permitRootLoginYes": "bei Verwendung des Root-Benutzers für das Tunneling", - "editSshConfig": "Bearbeiten Sie /etc/ssh/sshd_config und starten Sie SSH neu: sudo systemctl restart sshd", - "upload": "Hochladen", - "authentication": "Authentifizierung", - "password": "Passwort", - "key": "Schlüssel", - "credential": "Anmeldedaten", - "none": "Keine", - "selectCredential": "Anmeldeinformationen auswählen", - "selectCredentialPlaceholder": "Wähle eine Anmeldedaten aus...", - "credentialRequired": "Für die Anmeldeauthentifizierung sind Anmeldeinformationen erforderlich", - "credentialDescription": "Durch die Auswahl einer Anmeldeinformation wird der aktuelle Benutzername überschrieben und die Authentifizierungsdetails der Anmeldeinformation verwendet.", - "sshPrivateKey": "Privater SSH-Schlüssel", - "keyPassword": "Schlüsselpasswort", - "keyType": "Schlüsseltyp", - "autoDetect": "Automatische Erkennung", - "rsa": "RSA", - "ed25519": "ED25519", - "ecdsaNistP256": "ECDSA NIST P-256", - "ecdsaNistP384": "ECDSA NIST P-384", - "ecdsaNistP521": "ECDSA NIST P-521", - "dsa": "DSA", - "rsaSha2256": "RSA SHA2-256", - "rsaSha2512": "RSA SHA2-512", - "uploadFile": "Datei hochladen", - "pasteKey": "Schlüssel einfügen", - "updateKey": "Schlüssel aktualisieren", - "existingKey": "Vorhandener Schlüssel (zum Ändern klicken)", - "existingCredential": "Vorhandene Anmeldedaten (zum Ändern klicken)", - "addTagsSpaceToAdd": "Tags hinzufügen (Leertaste zum Hinzufügen)", - "terminalBadge": "Terminal", - "tunnelBadge": "Tunnel", - "fileManagerBadge": "Dateimanager", - "general": "Allgemein", - "terminal": "Terminal", - "tunnel": "Tunnel", - "fileManager": "Dateimanager", - "hostViewer": "Host-Viewer", - "confirmRemoveFromFolder": "Möchten Sie \"{{name}}\" wirklich aus dem Ordner \"{{folder}}\" entfernen? Der Host wird in \"Kein Ordner\" verschoben.", - "removedFromFolder": "Host \"{{name}}\" erfolgreich aus dem Ordner entfernt", - "failedToRemoveFromFolder": "Host konnte nicht aus dem Ordner entfernt werden", - "folderRenamed": "Ordner \"{{oldName}}\" erfolgreich in \"{{newName}}\" umbenannt", - "failedToRenameFolder": "Ordner konnte nicht umbenannt werden", - "movedToFolder": "Host \"{{name}}\" wurde erfolgreich nach \"{{folder}}\" verschoben", - "failedToMoveToFolder": "Host konnte nicht in den Ordner verschoben werden", - "statistics": "Statistiken", - "enabledWidgets": "Aktivierte Widgets", - "enabledWidgetsDesc": "Wählen Sie aus, welche Statistik-Widgets für diesen Host angezeigt werden sollen", - "monitoringConfiguration": "Überwachungskonfiguration", - "monitoringConfigurationDesc": "Konfigurieren Sie, wie oft Serverstatistiken und Status überprüft werden", - "statusCheckEnabled": "Statusüberwachung aktivieren", - "statusCheckEnabledDesc": "Prüfen Sie, ob der Server online oder offline ist", - "statusCheckInterval": "Statusprüfintervall", - "statusCheckIntervalDesc": "Wie oft überprüft werden soll, ob der Host online ist (5s - 1h)", - "metricsEnabled": "Metriküberwachung aktivieren", - "metricsEnabledDesc": "CPU-, RAM-, Festplatten- und andere Systemstatistiken erfassen", - "metricsInterval": "Metriken-Erfassungsintervall", - "metricsIntervalDesc": "Wie oft Serverstatistiken erfasst werden sollen (5s - 1h)", - "intervalSeconds": "Sekunden", - "intervalMinutes": "Minuten", - "intervalValidation": "Überwachungsintervalle müssen zwischen 5 Sekunden und 1 Stunde (3600 Sekunden) liegen", - "monitoringDisabled": "Die Serverüberwachung ist für diesen Host deaktiviert", - "enableMonitoring": "Überwachung aktivieren in Host-Manager → Statistiken-Tab", - "monitoringDisabledBadge": "Überwachung Aus", - "statusMonitoring": "Status", - "metricsMonitoring": "Metriken", - "terminalCustomizationNotice": "Hinweis: Terminal-Anpassungen funktionieren nur in der Desktop-Webversion. Mobile und Electron-Apps verwenden die Standard-Terminaleinstellungen des Systems.", - "terminalCustomization": "Terminal-Anpassung", - "appearance": "Aussehen", - "behavior": "Verhalten", - "advanced": "Erweitert", - "themePreview": "Themen-Vorschau", - "theme": "Thema", - "selectTheme": "Thema auswählen", - "chooseColorTheme": "Wählen Sie ein Farbthema für das Terminal", - "fontFamily": "Schriftfamilie", - "selectFont": "Schriftart auswählen", - "selectFontDesc": "Wählen Sie die im Terminal zu verwendende Schriftart", - "fontSize": "Schriftgröße", - "fontSizeValue": "Schriftgröße: {{value}}px", - "adjustFontSize": "Terminal-Schriftgröße anpassen", - "letterSpacing": "Zeichenabstand", - "letterSpacingValue": "Zeichenabstand: {{value}}px", - "adjustLetterSpacing": "Abstand zwischen Zeichen anpassen", - "lineHeight": "Zeilenhöhe", - "lineHeightValue": "Zeilenhöhe: {{value}}", - "adjustLineHeight": "Abstand zwischen Zeilen anpassen", - "cursorStyle": "Cursor-Stil", - "selectCursorStyle": "Cursor-Stil auswählen", - "cursorStyleBlock": "Block", - "cursorStyleUnderline": "Unterstrich", - "cursorStyleBar": "Balken", - "chooseCursorAppearance": "Cursor-Erscheinungsbild wählen", - "cursorBlink": "Cursor-Blinken", - "enableCursorBlink": "Cursor-Blinkanimation aktivieren", - "scrollbackBuffer": "Scrollback-Puffer", - "scrollbackBufferValue": "Scrollback-Puffer: {{value}} Zeilen", - "scrollbackBufferDesc": "Anzahl der Zeilen im Rückwärtsverlauf", - "bellStyle": "Signalton-Stil", - "selectBellStyle": "Signalton-Stil auswählen", - "bellStyleNone": "Keine", - "bellStyleSound": "Ton", - "bellStyleVisual": "Visuell", - "bellStyleBoth": "Beides", - "bellStyleDesc": "Behandlung des Terminal-Signaltons (BEL-Zeichen, \\x07). Programme lösen dies aus, wenn Aufgaben abgeschlossen werden, Fehler auftreten oder für Benachrichtigungen. \"Ton\" spielt einen akustischen Signalton ab, \"Visuell\" lässt den Bildschirm kurz aufblinken, \"Beides\" macht beides, \"Keine\" deaktiviert Signalton-Benachrichtigungen.", - "rightClickSelectsWord": "Rechtsklick wählt Wort", - "rightClickSelectsWordDesc": "Rechtsklick wählt das Wort unter dem Cursor aus", - "fastScrollModifier": "Schnellscroll-Modifikator", - "selectModifier": "Modifikator auswählen", - "modifierAlt": "Alt", - "modifierCtrl": "Strg", - "modifierShift": "Umschalt", - "fastScrollModifierDesc": "Modifikatortaste für schnelles Scrollen", - "fastScrollSensitivity": "Schnellscroll-Empfindlichkeit", - "fastScrollSensitivityValue": "Schnellscroll-Empfindlichkeit: {{value}}", - "fastScrollSensitivityDesc": "Scroll-Geschwindigkeitsmultiplikator bei gedrücktem Modifikator", - "minimumContrastRatio": "Minimales Kontrastverhältnis", - "minimumContrastRatioValue": "Minimales Kontrastverhältnis: {{value}}", - "minimumContrastRatioDesc": "Farben automatisch für bessere Lesbarkeit anpassen", - "sshAgentForwarding": "SSH-Agent-Weiterleitung", - "sshAgentForwardingDesc": "SSH-Authentifizierungsagent an Remote-Host weiterleiten", - "backspaceMode": "Rücktaste-Modus", - "selectBackspaceMode": "Rücktaste-Modus auswählen", - "backspaceModeNormal": "Normal (DEL)", - "backspaceModeControlH": "Control-H (^H)", - "backspaceModeDesc": "Rücktasten-Verhalten für Kompatibilität", - "startupSnippet": "Start-Snippet", - "selectSnippet": "Snippet auswählen", - "searchSnippets": "Snippets durchsuchen...", - "snippetNone": "Keine", - "noneAuthTitle": "Tastatur-Interaktive Authentifizierung", - "noneAuthDescription": "Diese Authentifizierungsmethode verwendet beim Herstellen der Verbindung zum SSH-Server die Tastatur-Interaktive Authentifizierung.", - "noneAuthDetails": "Tastatur-Interaktive Authentifizierung ermöglicht dem Server, Sie während der Verbindung zur Eingabe von Anmeldeinformationen aufzufordern. Dies ist nützlich für Server, die eine Multi-Faktor-Authentifizierung oder eine dynamische Passworteingabe erfordern.", - "forceKeyboardInteractive": "Tastatur-Interaktiv erzwingen", - "forceKeyboardInteractiveDesc": "Erzwingt die Verwendung der tastatur-interaktiven Authentifizierung. Dies ist oft für Server erforderlich, die eine Zwei-Faktor-Authentifizierung (TOTP/2FA) verwenden.", - "overrideCredentialUsername": "Benutzernamen der Anmeldedaten überschreiben", - "overrideCredentialUsernameDesc": "Verwenden Sie einen anderen Benutzernamen als den, der in den Anmeldedaten gespeichert ist. Dadurch können Sie dieselben Anmeldedaten mit unterschiedlichen Benutzernamen verwenden.", - "jumpHosts": "Jump-Hosts", - "jumpHostsDescription": "Jump-Hosts (auch bekannt als Bastion-Hosts) ermöglichen es Ihnen, sich über einen oder mehrere Zwischen-Server mit einem Ziel-Server zu verbinden. Dies ist nützlich für den Zugriff auf Server hinter Firewalls oder in privaten Netzwerken.", - "jumpHostChain": "Jump-Host-Kette", - "addJumpHost": "Jump-Host hinzufügen", - "selectServer": "Server auswählen", - "searchServers": "Server durchsuchen...", - "noServerFound": "Kein Server gefunden", - "jumpHostsOrder": "Verbindungen werden in dieser Reihenfolge hergestellt: Jump-Host 1 → Jump-Host 2 → ... → Ziel-Server", - "advancedAuthSettings": "Erweiterte Authentifizierungseinstellungen", - "addQuickAction": "Schnellaktion hinzufügen", - "allHostsInFolderDeleted": "{{count}} Hosts aus dem Ordner \"{{oderdner}}\" erfolgreich gelöscht", - "confirmDeleteAllHostsInFolder": "Sind Sie sicher, dass Sie alle {{count}} Hosts im Ordner \"{{oderdner}}\" löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.", - "customCommands": "Benutzerdefinierte Befehle (Demnächst)", - "customCommandsDesc": "Definieren Sie benutzerdefinierte Befehle zum Herunterfahren und Neustarten für diesen Server", - "deleteAllHostsInFolder": "Alle Hosts im Ordner löschen", - "displayItems": "Elemente anzeigen", - "displayItemsDesc": "Wählen Sie, welche Metriken auf der Server-Statistikseite angezeigt werden sollen", - "editFolderAppearance": "Ordner-Aussehen bearbeiten", - "editFolderAppearanceDesc": "Passen Sie die Farbe und das Symbol für den Ordner an", - "enableCpu": "CPU-Auslastung", - "enableDisk": "Festplatten-Nutzung", - "enableHostname": "Hostname (Demnächst)", - "enableMemory": "Speichernutzung", - "enableNetwork": "Netzwerkstatistiken (Demnächst)", - "enableOs": "Betriebssystem (Demnächst)", - "enableProcesses": "Prozessanzahl (Demnächst)", - "enableServerStats": "Serverstatistiken aktivieren", - "enableServerStatsDesc": "Sammeln von Serverstatistiken für diesen Host aktivieren/deaktivieren", - "enableUptime": "Betriebszeit (Demnächst)", - "failedToDeleteHostsInFolder": "Fehler beim Löschen der Hosts im Ordner", - "failedToUpdateFolderAppearance": "Fehler beim Aktualisieren des Ordner-Aussehens", - "folderAppearanceUpdated": "Ordner-Aussehen erfolgreich aktualisiert", - "folderColor": "Ordnerfarbe", - "folderIcon": "Ordnersymbol", - "noSnippetFound": "Kein Snippet gefunden", - "preview": "Vorschau", - "quickActionName": "Aktionsname", - "quickActions": "Schnellaktionen", - "quickActionsDescription": "Mit Schnellaktionen können Sie benutzerdefinierte Schaltflächen erstellen, die SSH-Snippets auf diesem Server ausführen. Diese Schaltflächen werden oben auf der Server-Statistikseite für schnellen Zugriff angezeigt.", - "quickActionsList": "Liste der Schnellaktionen", - "quickActionsOrder": "Schnellaktions-Schaltflächen werden in der oben aufgeführten Reihenfolge auf der Server-Statistikseite angezeigt", - "rebootCommand": "Neustart-Befehl", - "serverStats": "Server-Statistiken", - "shutdownCommand": "Herunterfahren-Befehl" - }, - "terminal": { - "title": "Terminal", - "connect": "Mit Host verbinden", - "disconnect": "Trennen", - "clear": "Löschen", - "copy": "Kopieren", - "paste": "Einfügen", - "find": "Suchen", - "fullscreen": "Vollbild", - "splitHorizontal": "Horizontal teilen", - "splitVertical": "Vertikal teilen", - "closePanel": "Panel schließen", - "reconnect": "Erneut verbinden", - "sessionEnded": "Sitzung beendet", - "connectionLost": "Verbindung verloren", - "error": "FEHLER: {{message}}", - "disconnected": "Getrennt", - "connectionClosed": "Verbindung geschlossen", - "connectionError": "Verbindungsfehler: {{message}}", - "connected": "Verbunden", - "sshConnected": "SSH-Verbindung hergestellt", - "authError": "Authentifizierung fehlgeschlagen: {{message}}", - "unknownError": "Unbekannter Fehler ist aufgetreten", - "messageParseError": "Servernachricht konnte nicht analysiert werden", - "websocketError": "WebSocket-Verbindungsfehler", - "connecting": "Verbindung wird hergestellt...", - "reconnecting": "Verbindung wird wiederhergestellt... ({{attempt}}/{{max}})", - "reconnected": "Erfolgreich wiederverbunden", - "maxReconnectAttemptsReached": "Maximale Anzahl an Wiederverbindungsversuchen erreicht", - "connectionTimeout": "Zeitüberschreitung der Verbindung", - "terminalTitle": "Terminal - {{host}}", - "terminalWithPath": "Terminal - {{host}} : {{path}}", - "runTitle": "Ausführen von {{command}} – {{host}}", - "totpCodeLabel": "Bestätigungscode", - "totpPlaceholder": "000000", - "totpRequired": "Zwei-Faktor-Authentifizierung erforderlich", - "totpVerify": "Bestätigen" - }, - "fileManager": { - "title": "Dateimanager", - "file": "Datei", - "folder": "Ordner", - "connectToSsh": "Stellen Sie eine SSH-Verbindung her, um Dateivorgänge zu verwenden", - "uploadFile": "Datei hochladen", - "downloadFile": "Herunterladen", - "edit": "Bearbeiten", - "preview": "Vorschau", - "previous": "Vorherige", - "next": "Weiter", - "pageXOfY": "Seite {{current}} von {{total}}", - "zoomOut": "Verkleinern", - "zoomIn": "Vergrößern", - "newFile": "Neue Datei", - "newFolder": "Neuer Ordner", - "rename": "Umbenennen", - "renameItem": "Element umbenennen", - "deleteItem": "Element löschen", - "currentPath": "Aktueller Pfad", - "uploadFileTitle": "Datei hochladen", - "maxFileSize": "Max.: 1 GB (JSON) / 5 GB (Binär) – Große Dateien werden unterstützt", - "removeFile": "Datei entfernen", - "clickToSelectFile": "Klicken Sie, um eine Datei auszuwählen", - "chooseFile": "Datei auswählen", - "uploading": "Wird hochgeladen...", - "downloading": "Wird heruntergeladen...", - "uploadingFile": "Lade {{name}} hoch...", - "uploadingLargeFile": "Große Datei wird hochgeladen {{name}} ({{size}})...", - "downloadingFile": "{{name}} wird heruntergeladen...", - "creatingFile": "Erstelle {{name}}...", - "creatingFolder": "Erstellen von {{name}}...", - "deletingItem": "Löschen von {{type}} {{name}}...", - "renamingItem": "Benenne {{type}} {{oldName}} in {{newName}} um...", - "createNewFile": "Neue Datei erstellen", - "fileName": "Dateiname", - "creating": "Wird erstellt...", - "createFile": "Datei erstellen", - "createNewFolder": "Neuen Ordner erstellen", - "folderName": "Ordnername", - "createFolder": "Ordner erstellen", - "warningCannotUndo": "Warnung: Diese Aktion kann nicht rückgängig gemacht werden", - "itemPath": "Elementpfad", - "thisIsDirectory": "Dies ist ein Verzeichnis (wird rekursiv gelöscht)", - "deleting": "Löschen...", - "currentPathLabel": "Aktueller Pfad", - "newName": "Neuer Name", - "thisIsDirectoryRename": "Dies ist ein Verzeichnis", - "renaming": "Wird umbenannt...", - "fileUploadedSuccessfully": "Datei \"{{name}}\" wurde erfolgreich hochgeladen", - "failedToUploadFile": "Datei konnte nicht hochgeladen werden", - "fileDownloadedSuccessfully": "Datei wurde erfolgreich heruntergeladen", - "failedToDownloadFile": "Datei konnte nicht heruntergeladen werden", - "noFileContent": "Keine Dateiinhalte empfangen", - "filePath": "Dateipfad", - "fileCreatedSuccessfully": "Datei \"{{name}}\" wurde erfolgreich erstellt", - "failedToCreateFile": "Datei konnte nicht erstellt werden", - "folderCreatedSuccessfully": "Ordner \"{{name}}\" wurde erfolgreich erstellt", - "failedToCreateFolder": "Ordner konnte nicht erstellt werden", - "failedToCreateItem": "Element konnte nicht erstellt werden", - "operationFailed": "{{operation}}-Vorgang für {{name}} fehlgeschlagen: {{error}}", - "failedToResolveSymlink": "Symbolische Verknüpfung konnte nicht aufgelöst werden", - "itemDeletedSuccessfully": "{{type}} erfolgreich gelöscht", - "itemsDeletedSuccessfully": "{{count}} Elemente erfolgreich gelöscht", - "failedToDeleteItems": "Löschen der Elemente fehlgeschlagen", - "dragFilesToUpload": "Dateien hierher ziehen, um sie hochzuladen", - "emptyFolder": "Dieser Ordner ist leer", - "itemCount": "{{count}} Elemente", - "selectedCount": "{{count}} ausgewählt", - "searchFiles": "Dateien durchsuchen...", - "upload": "Hochladen", - "selectHostToStart": "Wähle einen Host aus, um die Dateiverwaltung zu starten", - "failedToConnect": "Verbindung mit SSH fehlgeschlagen", - "failedToLoadDirectory": "Verzeichnis konnte nicht geladen werden", - "noSSHConnection": "Keine SSH-Verbindung verfügbar", - "enterFolderName": "Ordnernamen eingeben:", - "enterFileName": "Dateiname eingeben:", - "copy": "Kopieren", - "cut": "Ausschneiden", - "paste": "Einfügen", - "copyPath": "Pfad kopieren", - "copyPaths": "Pfade kopieren", - "delete": "Löschen", - "properties": "Eigenschaften", - "refresh": "Aktualisieren", - "downloadFiles": "Laden Sie {{count}} Dateien in den Browser herunter", - "copyFiles": "{{count}} Element(e) kopieren", - "cutFiles": "{{count}} Element(e) ausschneiden", - "deleteFiles": "{{count}} Element(e) löschen", - "filesCopiedToClipboard": "{{count}} Element(e) in die Zwischenablage kopiert", - "filesCutToClipboard": "{{count}} Element(e) in die Zwischenablage ausschneiden", - "pathCopiedToClipboard": "Pfad in Zwischenablage kopiert", - "pathsCopiedToClipboard": "{{count}} Pfade in Zwischenablage kopiert", - "failedToCopyPath": "Fehler beim Kopieren des Pfades in die Zwischenablage", - "movedItems": "{{count}} Element(e) verschoben", - "failedToDeleteItem": "Das Löschen des Elements ist fehlgeschlagen.", - "itemRenamedSuccessfully": "{{type}} erfolgreich umbenannt", - "failedToRenameItem": "Fehler beim Umbenennen des Elements", - "download": "Herunterladen", - "permissions": "Berechtigungen", - "size": "Größe", - "modified": "Geändert", - "path": "Pfad", - "confirmDelete": "Sind Sie sicher, dass Sie {{name}} löschen möchten?", - "uploadSuccess": "Datei erfolgreich hochgeladen", - "uploadFailed": "Datei-Hochladen fehlgeschlagen", - "downloadSuccess": "Datei erfolgreich heruntergeladen", - "downloadFailed": "Datei-Herunterladen fehlgeschlagen", - "permissionDenied": "Zugriff verweigert", - "checkDockerLogs": "Überprüfen Sie die Docker-Protokolle auf detaillierte Fehlerinformationen", - "internalServerError": "Interner Serverfehler aufgetreten", - "serverError": "Serverfehler", - "error": "Fehler", - "requestFailed": "Anforderung mit Statuscode fehlgeschlagen", - "unknownFileError": "unbekannt", - "cannotReadFile": "Datei kann nicht gelesen werden", - "noSshSessionId": "Keine SSH-Sitzungs-ID verfügbar", - "noFilePath": "Kein Dateipfad verfügbar", - "noCurrentHost": "Kein aktueller Host verfügbar", - "fileSavedSuccessfully": "Datei erfolgreich gespeichert", - "saveTimeout": "Beim Speichern ist eine Zeitüberschreitung aufgetreten. Die Datei wurde möglicherweise erfolgreich gespeichert, der Vorgang hat jedoch zu lange gedauert. Überprüfen Sie die Docker-Protokolle zur Bestätigung.", - "failedToSaveFile": "Datei konnte nicht gespeichert werden", - "deletedSuccessfully": "erfolgreich gelöscht", - "connectToServer": "Mit einem Server verbinden", - "selectServerToEdit": "Wähle einen Server in der Seitenleiste aus, um mit der Bearbeitung von Dateien zu beginnen", - "fileOperations": "Dateioperationen", - "confirmDeleteMessage": "Möchten Sie {{name}} wirklich löschen?", - "confirmDeleteSingleItem": "Möchten Sie \"{{name}}\" wirklich dauerhaft löschen?", - "confirmDeleteMultipleItems": "Sind Sie sicher, dass Sie {{name}} löschen möchten?", - "confirmDeleteMultipleItemsWithFolders": "Möchten Sie wirklich {{count}} Elemente dauerhaft löschen? Dies schließt Ordner und deren Inhalte ein.", - "confirmDeleteFolder": "Möchten Sie den Ordner \"{{name}}\" und seinen gesamten Inhalt wirklich dauerhaft löschen?", - "deleteDirectoryWarning": "Dadurch werden der Ordner und sein gesamter Inhalt gelöscht.", - "actionCannotBeUndone": "Diese Aktion kann nicht rückgängig gemacht werden.", - "permanentDeleteWarning": "Diese Aktion kann nicht rückgängig gemacht werden. Die Elemente werden dauerhaft vom Server gelöscht.", - "recent": "Neueste", - "pinned": "Angeheftet", - "folderShortcuts": "Ordner-Verknüpfungen", - "noRecentFiles": "Keine aktuellen Dateien.", - "noPinnedFiles": "Keine angehefteten Dateien.", - "enterFolderPath": "Ordnerpfad eingeben", - "noShortcuts": "Keine Abkürzungen.", - "searchFilesAndFolders": "Dateien und Ordner suchen...", - "noFilesOrFoldersFound": "Keine Dateien oder Ordner gefunden.", - "failedToConnectSSH": "Verbindung mit SSH konnte nicht hergestellt werden", - "failedToReconnectSSH": "Wiederherstellen der SSH-Sitzung fehlgeschlagen", - "failedToListFiles": "Dateien konnten nicht aufgelistet werden", - "fetchHomeDataTimeout": "Zeitüberschreitung beim Abrufen der Startseitendaten", - "sshStatusCheckTimeout": "SSH-Statusprüfung hat zu lange gedauert", - "sshReconnectionTimeout": "SSH-Wiederverbindung hat eine Zeitüberschreitung", - "saveOperationTimeout": "Speichervorgang hat zu lange gedauert", - "cannotSaveFile": "Datei kann nicht gespeichert werden", - "dragSystemFilesToUpload": "Ziehen Sie Systemdateien hierher, um sie hochzuladen", - "dragFilesToWindowToDownload": "Dateien aus dem Fenster ziehen, um sie herunterzuladen", - "openTerminalHere": "Terminal hier öffnen", - "run": "Ausführen", - "saveToSystem": "Speichern unter...", - "selectLocationToSave": "Wählen Sie den Speicherort aus", - "openTerminalInFolder": "Terminal in diesem Ordner öffnen", - "openTerminalInFileLocation": "Terminal am Dateispeicherort öffnen", - "terminalWithPath": "Terminal - {{host}} : {{path}}", - "runningFile": "Wird ausgeführt - {{file}}", - "onlyRunExecutableFiles": "Kann nur ausführbare Dateien ausführen", - "noHostSelected": "Kein Host ausgewählt", - "starred": "Favoriten", - "shortcuts": "Verknüpfungen", - "directories": "Verzeichnisse", - "removedFromRecentFiles": "\"{{name}}\" aus den zuletzt verwendeten Dateien entfernt", - "removeFailed": "Entfernen fehlgeschlagen", - "unpinnedSuccessfully": "\"{{name}}\" erfolgreich gelöst", - "unpinFailed": "Anheften fehlgeschlagen", - "removedShortcut": "Verknüpfung \"{{name}}\" entfernt", - "removeShortcutFailed": "Verknüpfung entfernen fehlgeschlagen", - "clearedAllRecentFiles": "Alle zuletzt verwendeten Dateien gelöscht", - "clearFailed": "Löschen fehlgeschlagen", - "removeFromRecentFiles": "Aus den zuletzt verwendeten Dateien entfernen", - "clearAllRecentFiles": "Alle zuletzt verwendeten Dateien löschen", - "unpinFile": "Datei lösen", - "removeShortcut": "Verknüpfung entfernen", - "saveFilesToSystem": "{{count}} Dateien speichern unter...", - "pinFile": "Datei anheften", - "addToShortcuts": "Zu Verknüpfungen hinzufügen", - "downloadToDefaultLocation": "An Standardort herunterladen", - "pasteFailed": "Einfügen fehlgeschlagen", - "noUndoableActions": "Keine rückgängig zu machenden Aktionen", - "undoCopySuccess": "Kopiervorgang rückgängig gemacht: {{count}} kopierte Dateien gelöscht", - "undoCopyFailedDelete": "Rückgängig machen fehlgeschlagen: Es konnten keine kopierten Dateien gelöscht werden", - "undoCopyFailedNoInfo": "Rückgängig machen fehlgeschlagen: Informationen zur kopierten Datei konnten nicht gefunden werden", - "undoMoveSuccess": "Verschiebevorgang rückgängig gemacht: {{count}} Dateien zurück an den ursprünglichen Speicherort verschoben", - "undoMoveFailedMove": "Rückgängig fehlgeschlagen: Es konnten keine Dateien zurück verschoben werden", - "undoMoveFailedNoInfo": "Rückgängig machen fehlgeschlagen: Informationen zur verschobenen Datei konnten nicht gefunden werden", - "undoDeleteNotSupported": "Der Löschvorgang kann nicht rückgängig gemacht werden: Die Dateien wurden dauerhaft vom Server gelöscht.", - "undoTypeNotSupported": "Nicht unterstützter Rückgängig-Operationstyp", - "undoOperationFailed": "Rückgängig-Operation fehlgeschlagen", - "unknownError": "Unbekannter Fehler", - "enterPath": "Pfad eingeben...", - "editPath": "Pfad bearbeiten", - "confirm": "Bestätigen", - "cancel": "Abbrechen", - "find": "Suchen...", - "replaceWith": "Ersetzen durch...", - "replace": "Ersetzen", - "replaceAll": "Alle ersetzen", - "downloadInstead": "Stattdessen herunterladen", - "keyboardShortcuts": "Tastenkürzel", - "searchAndReplace": "Suchen & Ersetzen", - "editing": "Bearbeitung", - "navigation": "Navigation", - "code": "Code", - "search": "Suchen", - "findNext": "Weitersuchen", - "findPrevious": "Vorheriges suchen", - "save": "Speichern", - "selectAll": "Alles auswählen", - "undo": "Rückgängig", - "redo": "Wiederholen", - "goToLine": "Gehe zu Zeile", - "moveLineUp": "Zeile nach oben verschieben", - "moveLineDown": "Zeile nach unten verschieben", - "toggleComment": "Kommentar umschalten", - "indent": "Einzug", - "outdent": "Ausrücken", - "autoComplete": "Automatische Vervollständigung", - "imageLoadError": "Bild konnte nicht geladen werden", - "rotate": "Drehen", - "originalSize": "Originalgröße", - "startTyping": "Beginnen Sie mit der Eingabe...", - "unknownSize": "Unbekannte Größe", - "fileIsEmpty": "Die Datei ist leer", - "largeFileWarning": "Warnung: Große Datei", - "largeFileWarningDesc": "Diese Datei hat eine Größe {{size}}, was beim Öffnen als Text zu Leistungsproblemen führen kann.", - "fileNotFoundAndRemoved": "Datei \"{{name}}\" nicht gefunden und aus den letzten/angehefteten Dateien entfernt", - "failedToLoadFile": "Datei konnte nicht geladen werden: {{error}}", - "serverErrorOccurred": "Es ist ein Serverfehler aufgetreten. Bitte versuchen Sie es später noch einmal.", - "autoSaveFailed": "Automatisches Speichern fehlgeschlagen", - "fileAutoSaved": "Datei automatisch gespeichert", - "moveFileFailed": "{{name}} konnte nicht verschoben werden", - "moveOperationFailed": "Verschiebevorgang fehlgeschlagen", - "canOnlyCompareFiles": "Kann nur zwei Dateien vergleichen", - "comparingFiles": "Dateien werden verglichen: {{file1}} und {{file2}}", - "dragFailed": "Ziehvorgang fehlgeschlagen", - "filePinnedSuccessfully": "Datei \"{{name}}\" erfolgreich angeheftet", - "pinFileFailed": "Datei konnte nicht angeheftet werden", - "fileUnpinnedSuccessfully": "Datei \"{{name}}\" erfolgreich gelöst", - "unpinFileFailed": "Fehler beim Lösen der Datei", - "shortcutAddedSuccessfully": "Ordnerverknüpfung \"{{name}}\" erfolgreich hinzugefügt", - "addShortcutFailed": "Verknüpfung konnte nicht hinzugefügt werden", - "operationCompletedSuccessfully": "{{operation}} {{count}} Element(e) erfolgreich", - "operationCompleted": "{{operation}} {{count}} Element(e)", - "downloadFileSuccess": "Datei {{name}} erfolgreich heruntergeladen", - "downloadFileFailed": "Herunterladen fehlgeschlagen", - "moveTo": "Nach {{name}} verschieben", - "diffCompareWith": "Diff-Vergleich mit {{name}}", - "dragOutsideToDownload": "Zum Herunterladen aus dem Fenster ziehen ({{count}} Dateien)", - "newFolderDefault": "Neuer Ordner", - "newFileDefault": "NeueDatei.txt", - "successfullyMovedItems": "{{count}} Elemente erfolgreich nach {{target}} verschoben", - "move": "Verschieben", - "searchInFile": "In Datei suchen (Strg+F)", - "showKeyboardShortcuts": "Tastenkombinationen anzeigen", - "startWritingMarkdown": "Beginnen Sie, Ihre Markdown-Inhalte zu schreiben...", - "loadingFileComparison": "Dateivergleich wird geladen...", - "reload": "Neu laden", - "compare": "Vergleichen", - "sideBySide": "Nebeneinander", - "inline": "Inline", - "fileComparison": "Dateivergleich: {{file1}} vs {{file2}}", - "fileTooLarge": "Datei zu groß: {{error}}", - "sshConnectionFailed": "SSH-Verbindung fehlgeschlagen. Bitte überprüfen Sie Ihre Verbindung zu {{name}} ({{ip}}:{{port}})", - "loadFileFailed": "Datei konnte nicht geladen werden: {{error}}", - "andMoreFiles": "und {{count}} weitere...", - "archiveExtractedSuccessfully": "{{name}} erfolgreich extrahiert", - "archiveName": "Archivname", - "changePermissions": "Berechtigungen ändern", - "changePermissionsDesc": "Dateiberechtigungen ändern für", - "compress": "Komprimieren", - "compressFailed": "Komprimierung fehlgeschlagen", - "compressFile": "Datei komprimieren", - "compressFiles": "Dateien komprimieren", - "compressFilesDesc": "Komprimiere {{count}} Elemente in ein Archiv", - "compressingFiles": "{{count}} Elemente werden in {{name}} komprimiert...", - "compressionFormat": "Komprimierungsformat", - "connectedSuccessfully": "Erfolgreich verbunden", - "currentPermissions": "Aktuelle Berechtigungen", - "enterArchiveName": "Archivnamen eingeben...", - "execute": "Ausführen", - "extractArchive": "Archiv extrahieren", - "extractFailed": "Extrahieren fehlgeschlagen", - "extractingArchive": "Extrahiere {{name}}...", - "failedToChangePermissions": "Berechtigungen konnten nicht geändert werden", - "filesCompressedSuccessfully": "{{name}} erfolgreich erstellt", - "group": "Gruppe", - "newPermissions": "Neue Berechtigungen", - "others": "Andere", - "owner": "Eigentümer", - "permissionsChangedSuccessfully": "Berechtigungen erfolgreich geändert", - "read": "Lesen", - "selectedFiles": "Ausgewählte Dateien", - "totpVerificationFailed": "TOTP-Verifizierung fehlgeschlagen", - "write": "Schreiben" - }, - "tunnels": { - "title": "SSH-Tunnel", - "noSshTunnels": "Keine SSH-Tunnel", - "createFirstTunnelMessage": "Erstellen Sie zunächst Ihren ersten SSH-Tunnel. Verwenden Sie den SSH-Manager, um Hosts mit Tunnelverbindungen hinzuzufügen.", - "connected": "Verbunden", - "disconnected": "Getrennt", - "connecting": "Verbindung wird hergestellt...", - "disconnecting": "Verbindung wird getrennt...", - "unknownTunnelStatus": "Unbekannt", - "unknown": "Unbekannt", - "error": "Fehler", - "failed": "Fehlgeschlagen", - "retrying": "Erneuter Versuch", - "waiting": "Warten", - "waitingForRetry": "Warten auf erneuten Versuch", - "retryingConnection": "Erneuter Verbindungsversuch", - "canceling": "Abbrechen...", - "connect": "Verbinden", - "disconnect": "Trennen", - "cancel": "Abbrechen", - "port": "Port", - "attempt": "Versuch {{current}} von {{max}}", - "nextRetryIn": "Nächster Wiederholungsversuch in {{seconds}} Sekunden", - "checkDockerLogs": "Überprüfen Sie Ihre Docker-Protokolle auf den Fehlergrund und treten Sie dem Discord bei", - "noTunnelConnections": "Keine Tunnelverbindungen konfiguriert", - "tunnelConnections": "Tunnel-Verbindungen", - "addTunnel": "Tunnel hinzufügen", - "editTunnel": "Tunnel bearbeiten", - "deleteTunnel": "Tunnel löschen", - "tunnelName": "Name des Tunnels", - "localPort": "Lokaler Port", - "remoteHost": "Remote-Host", - "remotePort": "Remote-Port", - "autoStart": "Autostart", - "status": "Status", - "active": "Aktiv", - "inactive": "Inaktiv", - "start": "Start", - "stop": "Stoppen", - "restart": "Neustart", - "connectionType": "Verbindungstyp", - "local": "Lokal", - "remote": "Remote", - "dynamic": "Dynamisch", - "unknownConnectionStatus": "Unbekannt", - "portMapping": "Port {{sourcePort}} → {{endpointHost}} : {{endpointPort}}", - "endpointHostNotFound": "Endpunkthost nicht gefunden", - "discord": "Discord", - "githubIssue": "GitHub-Issue", - "forHelp": "für Hilfe" - }, - "serverStats": { - "title": "Server-Statistiken", - "cpu": "CPU", - "memory": "Speicher", - "disk": "Festplatte", - "network": "Netzwerk", - "uptime": "Betriebszeit", - "loadAverage": "Durchschnitt: {{avg1}}, {{avg5}}, {{avg15}}", - "processes": "Prozesse", - "connections": "Verbindungen", - "usage": "Verwendung", - "available": "Verfügbar", - "total": "Gesamt", - "free": "Frei", - "used": "Gebraucht", - "percentage": "Prozentsatz", - "refreshStatusAndMetrics": "Aktualisierungsstatus und Metriken", - "refreshStatus": "Aktualisieren", - "fileManagerAlreadyOpen": "Der Dateimanager ist für diesen Host bereits geöffnet", - "openFileManager": "Dateimanager öffnen", - "cpuCores_one": "{{count}} CPU", - "cpuCores_other": "{{count}} CPUs", - "naCpus": "N/A CPU(s)", - "loadAverageNA": "Durchschnitt: N/A", - "cpuUsage": "CPU-Auslastung", - "memoryUsage": "Speicherauslastung", - "diskUsage": "Festplattennutzung", - "rootStorageSpace": "Root-Speicherplatz", - "of": "von", - "feedbackMessage": "Haben Sie Ideen, wie es bei der Serververwaltung weitergehen könnte? Dann teilen Sie diese gerne mit uns auf", - "failedToFetchHostConfig": "Abrufen der Hostkonfiguration fehlgeschlagen", - "failedToFetchStatus": "Abrufen des Serverstatus fehlgeschlagen", - "failedToFetchMetrics": "Abrufen der Servermetriken fehlgeschlagen", - "failedToFetchHomeData": "Abrufen der Home-Daten fehlgeschlagen", - "loadingMetrics": "Laden von Metriken...", - "refreshing": "Aktualisieren...", - "serverOffline": "Server offline", - "cannotFetchMetrics": "Metriken können nicht vom Offline-Server abgerufen werden", - "load": "Last", - "editLayout": "Layout anpassen", - "cancelEdit": "Abbrechen", - "addWidget": "Widget hinzufügen", - "saveLayout": "Layout speichern", - "unsavedChanges": "Ungespeicherte Änderungen", - "layoutSaved": "Layout erfolgreich gespeichert", - "failedToSaveLayout": "Speichern des Layout fehlgeschlagen", - "systemInfo": "Systeminformationen", - "hostname": "Hostname", - "operatingSystem": "Betriebssystem", - "kernel": "Kernel", - "totalUptime": "Gesamte Betriebszeit", - "seconds": "Sekunden", - "networkInterfaces": "Netzwerkschnittstellen", - "noInterfacesFound": "Keine Netzwerkschnittstellen gefunden", - "totalProcesses": "Gesamtprozesse", - "running": "läuft", - "noProcessesFound": "Keine Prozesse gefunden", - "loginStats": "SSH-Anmeldestatistiken", - "totalLogins": "Gesamtanmeldungen", - "uniqueIPs": "Eindeutige IPs", - "recentSuccessfulLogins": "Letzte erfolgreiche Anmeldungen", - "recentFailedAttempts": "Letzte fehlgeschlagene Versuche", - "noRecentLoginData": "Keine aktuellen Anmeldedaten", - "from": "von", - "executeQuickAction": "Ausführen {{name}}", - "executingQuickAction": "Führe {{name}} aus...", - "quickActionError": "Fehler beim Ausführen von {{name}}", - "quickActionFailed": "{{name}} fehlgeschlagen", - "quickActionSuccess": "{{name}} erfolgreich abgeschlossen", - "quickActions": "Schnellaktionen", - "totpRequired": "TOTP-Authentifizierung erforderlich", - "totpUnavailable": "Serverstatistiken nicht verfügbar für TOTP-aktivierte Server" - }, - "auth": { - "tagline": "SSH SERVER MANAGER", - "description": "Sichere, leistungsstarke und intuitive SSH-Verbindungsverwaltung", - "welcomeBack": "Willkommen zurück bei TERMIX", - "createAccount": "Erstellen Sie Ihr TERMIX-Konto", - "continueExternal": "Mit externem Anbieter fortfahren", - "loginTitle": "Melden Sie sich bei Termix an", - "registerTitle": "Benutzerkonto erstellen", - "loginButton": "Anmelden", - "registerButton": "Registrieren", - "forgotPassword": "Passwort vergessen?", - "rememberMe": "Angemeldet bleiben", - "noAccount": "Sie haben noch kein Konto?", - "hasAccount": "Sie haben bereits ein Konto?", - "loginSuccess": "Anmeldung erfolgreich", - "loginFailed": "Anmeldung fehlgeschlagen", - "registerSuccess": "Registrierung erfolgreich", - "registerFailed": "Registrierung fehlgeschlagen", - "logoutSuccess": "Erfolgreich abgemeldet", - "invalidCredentials": "Ungültiger Benutzername oder Passwort", - "accountCreated": "Konto erfolgreich erstellt", - "passwordReset": "Link zum Zurücksetzen des Passworts gesendet", - "twoFactorAuth": "Zwei-Faktor-Authentifizierung", - "enterCode": "Bestätigungscode eingeben", - "backupCode": "Oder verwenden Sie den Backup-Code", - "verifyCode": "Code bestätigen", - "enableTwoFactor": "Zwei-Faktor-Authentifizierung aktivieren", - "disableTwoFactor": "Zwei-Faktor-Authentifizierung deaktivieren", - "scanQRCode": "Scannen Sie diesen QR-Code mit Ihrer Authentifizierungs-App", - "backupCodes": "Backup-Codes", - "saveBackupCodes": "Bewahren Sie diese Backup-Codes an einem sicheren Ort auf", - "twoFactorEnabledSuccess": "Zwei-Faktor-Authentifizierung erfolgreich aktiviert!", - "twoFactorDisabled": "Zwei-Faktor-Authentifizierung deaktiviert", - "newBackupCodesGenerated": "Neue Backup-Codes generiert", - "backupCodesDownloaded": "Backup-Codes heruntergeladen", - "pleaseEnterSixDigitCode": "Bitte geben Sie einen 6-stelligen Code ein", - "invalidVerificationCode": "Ungültiger Bestätigungscode", - "failedToDisableTotp": "TOTP konnte nicht deaktiviert werden", - "failedToGenerateBackupCodes": "Fehler beim Generieren von Backup-Codes", - "enterPassword": "Geben Sie Ihr Passwort ein", - "lockedOidcAuth": "Gesperrt (OIDC-Authentifizierung)", - "twoFactorTitle": "Zwei-Faktor-Authentifizierung", - "twoFactorProtected": "Ihr Konto ist durch eine Zwei-Faktor-Authentifizierung geschützt", - "twoFactorActive": "Für Ihr Konto ist derzeit die Zwei-Faktor-Authentifizierung aktiv", - "disable2FA": "2FA deaktivieren", - "disableTwoFactorWarning": "Die Deaktivierung der Zwei-Faktor-Authentifizierung macht Ihr Konto unsicherer", - "passwordOrTotpCode": "Passwort oder TOTP-Code", - "or": "Oder", - "generateNewBackupCodesText": "Generieren Sie neue Backup-Codes, wenn Sie Ihre bestehenden verloren haben", - "generateNewBackupCodes": "Neue Backup-Codes generieren", - "yourBackupCodes": "Ihre Backup-Codes", - "download": "Herunterladen", - "setupTwoFactorTitle": "Zwei-Faktor-Authentifizierung einrichten", - "step1ScanQR": "Schritt 1: Scannen Sie den QR-Code mit Ihrer Authentifizierungs-App", - "manualEntryCode": "Manueller Eingabecode", - "cannotScanQRText": "Wenn Sie den QR-Code nicht scannen können, geben Sie diesen Code manuell in Ihre Authentifizierungs-App ein", - "nextVerifyCode": "Weiter: Code überprüfen", - "verifyAuthenticator": "Überprüfen Sie Ihren Authentifikator", - "step2EnterCode": "Schritt 2: Geben Sie den 6-stelligen Code aus Ihrer Authentifizierungs-App ein", - "verificationCode": "Bestätigungscode", - "back": "Zurück", - "verifyAndEnable": "Überprüfen und Aktivieren", - "saveBackupCodesTitle": "Speichern Sie Ihre Backup-Codes", - "step3StoreCodesSecurely": "Schritt 3: Bewahren Sie diese Codes an einem sicheren Ort auf", - "importantBackupCodesText": "Bewahren Sie diese Backup-Codes an einem sicheren Ort auf. Sie können sie verwenden, um auf Ihr Konto zuzugreifen, falls Sie Ihr Authentifizierungsgerät verlieren.", - "completeSetup": "Vollständiges Setup", - "notEnabledText": "Die Zwei-Faktor-Authentifizierung fügt eine zusätzliche Sicherheitsebene hinzu, indem bei der Anmeldung ein Code von Ihrer Authentifizierungs-App erforderlich ist.", - "enableTwoFactorButton": "Zwei-Faktor-Authentifizierung aktivieren", - "addExtraSecurityLayer": "Fügen Sie Ihrem Konto eine zusätzliche Sicherheitsebene hinzu", - "firstUser": "Erster Benutzer", - "firstUserMessage": "Sie sind der erste Benutzer und werden zum Administrator ernannt. Sie können die Administratoreinstellungen im Dropdown-Menü der Seitenleiste einsehen. Wenn Sie glauben, dass dies ein Fehler ist, überprüfen Sie die Docker-Protokolle oder erstellen Sie ein GitHub Ticket.", - "external": "Extern", - "loginWithExternal": "Anmeldung mit externem Anbieter", - "loginWithExternalDesc": "Melden Sie sich mit Ihrem konfigurierten externen Identitätsanbieter an", - "externalNotSupportedInElectron": "Externe Authentifizierung wird in der Electron-App noch nicht unterstützt. Bitte verwenden Sie die Webversion für die OIDC-Anmeldung.", - "resetPasswordButton": "Passwort zurücksetzen", - "sendResetCode": "Reset-Code senden", - "resetCodeDesc": "Geben Sie Ihren Benutzernamen ein, um einen Code zum Zurücksetzen des Passworts zu erhalten. Der Code wird in den Docker-Container-Protokollen angezeigt.", - "resetCode": "Code zurücksetzen", - "verifyCodeButton": "Code bestätigen", - "enterResetCode": "Geben Sie den 6-stelligen Code aus den Docker-Container-Protokollen für den Benutzer ein:", - "goToLogin": "Zum Login", - "newPassword": "Neues Passwort", - "confirmNewPassword": "Passwort bestätigen", - "enterNewPassword": "Geben Sie Ihr neues Passwort für den Benutzer ein:", - "passwordResetSuccess": "Erfolgreich!", - "passwordResetSuccessDesc": "Ihr Passwort wurde erfolgreich zurückgesetzt! Sie können sich jetzt mit Ihrem neuen Passwort anmelden.", - "signUp": "Registrierung", - "dataLossWarning": "Wenn Sie Ihr Passwort auf diese Weise zurücksetzen, werden alle Ihre gespeicherten SSH-Hosts, Anmeldeinformationen und andere verschlüsselte Daten gelöscht. Diese Aktion kann nicht rückgängig gemacht werden. Verwenden Sie diese Option nur, wenn Sie Ihr Passwort vergessen haben und nicht angemeldet sind.", - "sshAuthenticationRequired": "SSH-Authentifizierung erforderlich", - "sshNoKeyboardInteractive": "Tastatur-Interaktive Authentifizierung nicht verfügbar", - "sshAuthenticationFailed": "Authentifizierung fehlgeschlagen", - "sshAuthenticationTimeout": "Authentifizierungs-Timeout", - "sshNoKeyboardInteractiveDescription": "Der Server unterstützt keine Tastatur-Interaktive Authentifizierung. Bitte geben Sie Ihr Passwort oder Ihren SSH-Schlüssel ein.", - "sshAuthFailedDescription": "Die angegebenen Anmeldeinformationen waren falsch. Bitte versuchen Sie es erneut mit gültigen Anmeldeinformationen.", - "sshTimeoutDescription": "Der Authentifizierungsversuch ist abgelaufen. Bitte versuchen Sie es erneut.", - "sshProvideCredentialsDescription": "Bitte geben Sie Ihre SSH-Anmeldeinformationen ein, um eine Verbindung zu diesem Server herzustellen.", - "sshPasswordDescription": "Geben Sie das Passwort für diese SSH-Verbindung ein.", - "sshKeyPasswordDescription": "Wenn Ihr SSH-Schlüssel verschlüsselt ist, geben Sie hier die Passphrase ein.", - "authenticating": "Authentifizierung läuft...", - "authenticationDisabled": "Authentifizierung deaktiviert", - "authenticationDisabledDesc": "Alle Authentifizierungsmethoden sind derzeit deaktiviert. Bitte kontaktieren Sie Ihren Administrator.", - "desktopApp": "Desktop App", - "loadingServer": "Lade Server...", - "loggingInToDesktopApp": "Anmelden bei der Desktop-App", - "loggingInToDesktopAppViaWeb": "Anmelden bei der Desktop-App über Webinterface", - "loggingInToMobileApp": "Anmelden bei der Mobile-App", - "mobileApp": "Mobile App", - "redirectingToApp": "Weiterleitung zur App..." - }, - "errors": { - "notFound": "Seite nicht gefunden", - "unauthorized": "Unbefugter Zugriff", - "forbidden": "Zugang verboten", - "serverError": "Serverfehler", - "networkError": "Netzwerkfehler", - "databaseConnection": "Es konnte keine Verbindung zur Datenbank hergestellt werden.", - "unknownError": "Unbekannter Fehler", - "loginFailed": "Anmeldung fehlgeschlagen", - "failedPasswordReset": "Das Zurücksetzen des Passworts konnte nicht eingeleitet werden.", - "failedVerifyCode": "Reset-Code konnte nicht verifiziert werden", - "failedCompleteReset": "Das Zurücksetzen des Passworts konnte nicht abgeschlossen werden.", - "invalidTotpCode": "Ungültiger TOTP-Code", - "failedOidcLogin": "Fehler beim Starten der OIDC-Anmeldung", - "failedUserInfo": "Fehler beim Abrufen von Benutzerinformationen nach der OIDC-Anmeldung", - "oidcAuthFailed": "OIDC-Authentifizierung fehlgeschlagen", - "noTokenReceived": "Kein Token vom Login erhalten", - "invalidAuthUrl": "Ungültige Autorisierungs-URL vom Backend empfangen", - "invalidInput": "Ungültige Eingabe", - "requiredField": "Dieses Feld ist erforderlich", - "minLength": "Die Mindestlänge beträgt {{min}}", - "maxLength": "Die maximale Länge beträgt {{max}}", - "invalidEmail": "Ungültige E-Mail-Adresse", - "passwordMismatch": "Passwörter stimmen nicht überein", - "passwordLoginDisabled": "Benutzername/Passwort-Anmeldung ist derzeit deaktiviert", - "weakPassword": "Das Passwort ist zu schwach", - "usernameExists": "Benutzername existiert bereits", - "emailExists": "E-Mail existiert bereits", - "loadFailed": "Daten konnten nicht geladen werden", - "saveError": "Speichern fehlgeschlagen", - "sessionExpired": "Sitzung abgelaufen - bitte melden Sie sich erneut an" - }, - "messages": { - "saveSuccess": "Erfolgreich gespeichert", - "saveError": "Speichern fehlgeschlagen", - "deleteSuccess": "Erfolgreich gelöscht", - "deleteError": "Löschen fehlgeschlagen", - "updateSuccess": "Erfolgreich aktualisiert", - "updateError": "Aktualisierung fehlgeschlagen", - "copySuccess": "In die Zwischenablage kopiert", - "copyError": "Kopieren fehlgeschlagen", - "copiedToClipboard": "{{field}} in die Zwischenablage kopiert", - "connectionEstablished": "Verbindung hergestellt", - "connectionClosed": "Verbindung geschlossen", - "reconnecting": "Verbindung wird wiederhergestellt...", - "processing": "Verarbeitung...", - "pleaseWait": "Bitte warten...", - "registrationDisabled": "Die Registrierung neuer Konten ist derzeit durch einen Administrator deaktiviert. Bitte melden Sie sich an oder wenden Sie sich an einen Administrator.", - "databaseConnected": "Datenbank erfolgreich verbunden", - "databaseConnectionFailed": "Verbindung zum Datenbankserver konnte nicht hergestellt werden", - "checkServerConnection": "Bitte überprüfen Sie Ihre Serververbindung und versuchen Sie es erneut", - "resetCodeSent": "Reset-Code wurde an Docker-Protokolle gesendet", - "codeVerified": "Code erfolgreich verifiziert", - "passwordResetSuccess": "Passwort erfolgreich zurückgesetzt", - "loginSuccess": "Anmeldung erfolgreich", - "registrationSuccess": "Registrierung erfolgreich" - }, - "profile": { - "title": "Benutzerprofil", - "description": "Verwalten Sie Ihre Kontoeinstellungen und Sicherheit", - "security": "Sicherheit", - "changePassword": "Passwort ändern", - "twoFactorAuth": "Zwei-Faktor-Authentifizierung", - "accountInfo": "Kontoinformationen", - "role": "Rolle", - "admin": "Administrator", + "failedToUpdatePasswordLoginStatus": "Aktualisierung des Passwort-Login-Status fehlgeschlagen", + "sessionManagement": "Sitzungsverwaltung", + "loadingSessions": "Sitzungen werden geladen...", + "noActiveSessions": "Keine aktiven Sitzungen gefunden.", + "device": "Gerät", "user": "Benutzer", - "authMethod": "Authentifizierungsmethode", - "local": "Lokal", - "external": "Extern (OIDC)", - "selectPreferredLanguage": "Wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche", - "fileColorCoding": "Dateifarbcodierung", - "fileColorCodingDesc": "Farbcodierung von Dateien nach Typ: Ordner (rot), Dateien (blau), Symlinks (grün)", - "commandAutocomplete": "Befehlsautovervollständigung", - "commandAutocompleteDesc": "Tab-Taste Autovervollständigung für Terminal-Befehle basierend auf Ihrem Befehlsverlauf aktivieren", - "defaultSnippetFoldersCollapsed": "Snippet-Ordner standardmäßig einklappen", - "defaultSnippetFoldersCollapsedDesc": "Wenn aktiviert, werden alle Snippet-Ordner beim Öffnen der Snippet-Registerkarte eingeklappt", - "currentPassword": "Aktuelles Passwort", - "passwordChangedSuccess": "Passwort erfolgreich geändert! Bitte melden Sie sich erneut an.", - "failedToChangePassword": "Passwort konnte nicht geändert werden. Bitte überprüfen Sie Ihr aktuelles Passwort und versuchen Sie es erneut.", - "externalAndLocal": "Dual Auth" - }, - "user": { - "failedToLoadVersionInfo": "Fehler beim Laden der Versionsinformationen" - }, - "placeholders": { - "enterCode": "000000", - "ipAddress": "127.0.0.1", - "port": "22", - "maxRetries": "3", - "retryInterval": "10", - "language": "Sprache", - "username": "Benutzername", - "hostname": "Hostname", - "folder": "Ordner", - "password": "Passwort", - "keyPassword": "Schlüsselpasswort", - "pastePrivateKey": "Fügen Sie hier Ihren privaten Schlüssel ein ...", - "pastePublicKey": "Fügen Sie hier Ihren öffentlichen Schlüssel ein ...", - "credentialName": "Mein SSH-Server", - "description": "Beschreibung der SSH-Anmeldeinformationen", - "searchCredentials": "Suchen Sie Anmeldeinformationen nach Name, Benutzername oder Tags ...", - "sshConfig": "Endpunkt-SSH-Konfiguration", - "homePath": "/home", - "clientId": "Ihre Client-ID", - "clientSecret": "Ihr Client-Geheimnis", - "authUrl": "https://ihr-anbieter.com/application/o/authorize/", - "redirectUrl": "https://ihr-anbieter.com/application/o/termix/", - "tokenUrl": "https://ihr-anbieter.com/application/o/token/", - "userIdField": "sub", - "usernameField": "name", - "scopes": "openid email profile", - "userinfoUrl": "https://ihr-anbieter.com/application/o/userinfo/", - "enterUsername": "Geben Sie den Benutzernamen ein, um zum Administrator zu werden", - "searchHosts": "Suchen Sie nach Hosts nach Name, Benutzername, IP, Ordner, Tags usw.", - "enterPassword": "Geben Sie Ihr Passwort ein", - "totpCode": "6-stelliger TOTP-Code", - "searchHostsAny": "Suchen Sie nach Hosts anhand beliebiger Informationen ...", - "confirmPassword": "Geben Sie zur Bestätigung Ihr Passwort ein", - "typeHere": "Hier eingeben", - "fileName": "Geben Sie den Dateinamen ein (z. B. Beispiel.txt)", - "folderName": "Ordnernamen eingeben", - "fullPath": "Geben Sie den vollständigen Pfad zum Element ein", - "currentPath": "Geben Sie den aktuellen Pfad zum Element ein", - "newName": "Neuen Namen eingeben" - }, - "leftSidebar": { - "failedToLoadHosts": "Hosts konnten nicht geladen werden", - "noFolder": "Kein Ordner", - "passwordRequired": "Passwort erforderlich", - "failedToDeleteAccount": "Konto konnte nicht gelöscht werden", - "failedToMakeUserAdmin": "Fehler beim Festlegen des Benutzers als Administrator", - "userIsNowAdmin": "Der Benutzer {{username}} ist jetzt ein Administrator", - "removeAdminConfirm": "Möchten Sie die Administratorberechtigung von {{username}} wirklich entfernen?", - "deleteUserConfirm": "Möchten Sie den Benutzer {{username}} wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.", - "deleteAccount": "Konto löschen", - "closeDeleteAccount": "Schließen Konto löschen", - "deleteAccountWarning": "Diese Aktion kann nicht rückgängig gemacht werden. Dadurch werden Ihr Konto und alle damit verbundenen Daten dauerhaft gelöscht.", - "deleteAccountWarningDetails": "Wenn Sie Ihr Konto löschen, werden alle Ihre Daten entfernt, einschließlich SSH-Hosts, Konfigurationen und Einstellungen. Diese Aktion ist nicht rückgängig zu machen.", - "deleteAccountWarningShort": "Diese Aktion kann nicht rückgängig gemacht werden und löscht Ihr Konto dauerhaft.", - "cannotDeleteAccount": "Konto kann nicht gelöscht werden", - "lastAdminWarning": "Sie sind der letzte Administrator. Sie können Ihr Konto nicht löschen, da das System dann ohne Administrator wäre. Bitte benennen Sie zunächst einen anderen Benutzer als Administrator oder wenden Sie sich an den Systemsupport.", - "confirmPassword": "Passwort bestätigen", - "deleting": "Löschen...", - "cancel": "Abbrechen" - }, - "interface": { - "sidebar": "Seitenleiste", - "toggleSidebar": "Seitenleiste ein-/ausblenden", - "close": "Schließen", - "online": "Online", - "offline": "Offline", - "maintenance": "Wartung", - "degraded": "Eingeschränkt", - "noTunnelConnections": "Keine Tunnelverbindungen konfiguriert", - "discord": "Discord", - "connectToSshForOperations": "Stellen Sie eine SSH-Verbindung her, um Dateivorgänge zu verwenden", - "uploadFile": "Datei hochladen", - "newFile": "Neue Datei", - "newFolder": "Neuer Ordner", - "rename": "Umbenennen", - "deleteItem": "Element löschen", - "createNewFile": "Neue Datei erstellen", - "createNewFolder": "Neuen Ordner erstellen", - "renameItem": "Element umbenennen", - "clickToSelectFile": "Klicken Sie, um eine Datei auszuwählen", - "noSshHosts": "Keine SSH-Hosts", - "sshHosts": "SSH-Hosts", - "importSshHosts": "SSH-Hosts aus JSON importieren", - "clientId": "Client-ID", - "clientSecret": "Client-Geheimnis", - "error": "Fehler", - "warning": "Warnung", - "deleteAccount": "Konto löschen", - "closeDeleteAccount": "Schließen Konto löschen", - "cannotDeleteAccount": "Konto kann nicht gelöscht werden", - "confirmPassword": "Passwort bestätigen", - "deleting": "Löschen...", - "externalAuth": "Externe Authentifizierung (OIDC)", - "configureExternalProvider": "Konfigurieren Sie den externen Identitätsanbieter für die OIDC/OAuth2-Authentifizierung.", - "waitingForRetry": "Warten auf erneuten Versuch", - "retryingConnection": "Erneuter Verbindungsversuch", - "resetSplitSizes": "Split-Größen zurücksetzen", - "sshManagerAlreadyOpen": "SSH-Manager bereits geöffnet", - "disabledDuringSplitScreen": "Deaktiviert bei geteiltem Bildschirm", - "unknown": "Unbekannt", - "connected": "Verbunden", - "disconnected": "Getrennt", - "maxRetriesExhausted": "Maximale Wiederholungsversuche ausgeschöpft", - "endpointHostNotFound": "Endpunkthost nicht gefunden", - "administrator": "Administrator", - "user": "Benutzer", - "external": "Extern", - "local": "Lokal", - "saving": "Speichern...", - "saveConfiguration": "Konfiguration speichern", - "loading": "Laden...", - "refresh": "Aktualisieren", - "adding": "Hinzufügen...", - "makeAdmin": "Zum Administrator machen", - "verifying": "Überprüfung...", - "verifyAndEnable": "Überprüfen und Aktivieren", - "secretKey": "Geheimer Schlüssel", - "totpQrCode": "TOTP-QR-Code", - "passwordRequired": "Bei Verwendung der Passwort-Authentifizierung ist ein Passwort erforderlich", - "sshKeyRequired": "Bei Verwendung der Schlüsselauthentifizierung ist ein privater SSH-Schlüssel erforderlich", - "keyTypeRequired": "Bei Verwendung der Schlüsselauthentifizierung ist der Schlüsseltyp erforderlich", - "validSshConfigRequired": "Sie müssen eine gültige SSH-Konfiguration aus der Liste auswählen", - "updateHost": "Host aktualisieren", - "addHost": "Host hinzufügen", - "editHost": "Host bearbeiten", - "pinConnection": "Verbindung anheften", - "authentication": "Authentifizierung", - "password": "Passwort", - "key": "Schlüssel", - "sshPrivateKey": "Privater SSH-Schlüssel", - "keyPassword": "Schlüsselpasswort", - "keyType": "Schlüsseltyp", - "enableTerminal": "Terminal aktivieren", - "enableTunnel": "Tunnel aktivieren", - "enableFileManager": "Dateimanager aktivieren", - "defaultPath": "Standard-Pfad", - "tunnelConnections": "Tunnel-Verbindungen", - "maxRetries": "Max. Wiederholungsversuche", - "upload": "Hochladen", - "updateKey": "Schlüssel aktualisieren", - "productionFolder": "Produktion", - "databaseServer": "Datenbankserver", - "developmentServer": "Entwicklungsserver", - "developmentFolder": "Entwicklung", - "webServerProduction": "Webserver – Produktion", - "unknownError": "Unbekannter Fehler", - "failedToInitiatePasswordReset": "Das Zurücksetzen des Passworts konnte nicht eingeleitet werden.", - "failedToVerifyResetCode": "Fehler beim Überprüfen des Reset-Codes", - "failedToCompletePasswordReset": "Das Zurücksetzen des Passworts konnte nicht abgeschlossen werden.", - "invalidTotpCode": "Ungültiger TOTP-Code", - "failedToStartOidcLogin": "Fehler beim Starten der OIDC-Anmeldung", - "failedToGetUserInfoAfterOidc": "Fehler beim Abrufen von Benutzerinformationen nach der OIDC-Anmeldung", - "loginWithExternalProvider": "Login mit externem Anbieter", - "loginWithExternal": "Anmeldung mit externem Anbieter", - "sendResetCode": "Reset-Code senden", - "verifyCode": "Code bestätigen", - "resetPassword": "Passwort zurücksetzen", - "login": "Anmelden", - "signUp": "Registrieren", - "failedToUpdateOidcConfig": "Aktualisierung der OIDC-Konfiguration fehlgeschlagen", - "failedToMakeUserAdmin": "Fehler beim Festlegen des Benutzers als Administrator", - "failedToStartTotpSetup": "TOTP-Setup konnte nicht gestartet werden", - "invalidVerificationCode": "Ungültiger Bestätigungscode", - "failedToDisableTotp": "TOTP konnte nicht deaktiviert werden", - "failedToGenerateBackupCodes": "Fehler beim Generieren von Backup-Codes" - }, - "mobile": { - "selectHostToStart": "Wählen Sie einen Host aus, um Ihre Terminalsitzung zu starten", - "limitedSupportMessage": "Die mobile Unterstützung der Website ist noch in Arbeit. Nutzen Sie die mobile App für ein besseres Erlebnis.", - "mobileAppInProgress": "Mobile App ist in Arbeit", - "mobileAppInProgressDesc": "Wir arbeiten an einer speziellen mobilen App, um ein besseres Erlebnis auf Mobilgeräten zu bieten.", - "viewMobileAppDocs": "Mobile App installieren", - "mobileAppDocumentation": "Mobile App-Dokumentation" - }, - "dashboard": { - "title": "Dashboard", - "github": "GitHub", - "support": "Support", - "discord": "Discord", - "donate": "Spenden", - "serverOverview": "Serverübersicht", - "version": "Version", - "upToDate": "Auf dem neuesten Stand", - "updateAvailable": "Aktualisierung verfügbar", - "uptime": "Betriebszeit", - "database": "Datenbank", - "healthy": "Gesund", - "error": "Fehler", - "totalServers": "Server gesamt", - "totalTunnels": "Tunnel gesamt", - "totalCredentials": "Anmeldedaten gesamt", - "recentActivity": "Kürzliche Aktivität", - "reset": "Zurücksetzen", - "loadingRecentActivity": "Kürzliche Aktivität wird geladen...", - "noRecentActivity": "Keine kürzliche Aktivität", - "quickActions": "Schnellaktionen", - "addHost": "Host hinzufügen", - "addCredential": "Anmeldedaten hinzufügen", - "adminSettings": "Administratoreinstellungen", - "userProfile": "Benutzerprofil", - "serverStats": "Serverstatistiken", - "loadingServerStats": "Serverstatistiken werden geladen...", - "noServerData": "Keine Serverdaten verfügbar", - "cpu": "CPU", - "ram": "RAM", - "notAvailable": "Nicht verfügbar" - }, - "commandPalette": { - "searchPlaceholder": "Nach Hosts oder Schnellaktionen suchen...", - "recentActivity": "Kürzliche Aktivität", - "navigation": "Navigation", - "addHost": "Host hinzufügen", - "addCredential": "Anmeldedaten hinzufügen", - "adminSettings": "Administratoreinstellungen", - "userProfile": "Benutzerprofil", - "updateLog": "Aktualisierungsprotokoll", - "hosts": "Hosts", - "openServerDetails": "Serverdetails öffnen", - "openFileManager": "Dateimanager öffnen", - "edit": "Bearbeiten", - "links": "Links", - "github": "GitHub", - "support": "Support", - "discord": "Discord", - "donate": "Spenden", - "press": "Drücken Sie", - "toToggle": "zum Umschalten", - "close": "Schließen", - "hostManager": "Host-Manager" - }, - "snippets": { - "content": "Befehl", - "contentPlaceholder": "z.B. sudo systemctl restart nginx", - "contentRequired": "Befehl ist erforderlich", - "copySuccess": "\"{{name}}\" in die Zwischenablage kopiert", - "copyTooltip": "Snippet in die Zwischenablage kopieren", - "create": "Snippet erstellen", - "createDescription": "Erstellen Sie ein neues Befehls-Snippet für die schnelle Ausführung", - "createFailed": "Fehler beim Erstellen des Snippets", - "createSuccess": "Snippet erfolgreich erstellt", - "deleteConfirmDescription": "Sind Sie sicher, dass Sie \"{{name}}\" löschen möchten?", - "deleteConfirmTitle": "Snippet löschen", - "deleteFailed": "Fehler beim Löschen des Snippets", - "deleteSuccess": "Snippet erfolgreich gelöscht", - "deleteTooltip": "Dieses Snippet löschen", - "description": "Beschreibung", - "descriptionPlaceholder": "Optionale Beschreibung", - "edit": "Snippet bearbeiten", - "editDescription": "Dieses Befehls-Snippet bearbeiten", - "editTooltip": "Dieses Snippet bearbeiten", - "empty": "Noch keine Snippets", - "emptyHint": "Erstellen Sie ein Snippet, um häufig verwendete Befehle zu speichern", - "executeSuccess": "Ausführen: {{name}}", - "failedToFetch": "Fehler beim Abrufen der Snippets", - "name": "Name", - "namePlaceholder": "z.B. Restart Nginx", - "nameRequired": "Name ist erforderlich", - "new": "Neues Snippet", - "run": "Ausführen", - "runTooltip": "Dieses Snippet im Terminal ausführen", - "title": "Snippets", - "updateFailed": "Fehler beim Aktualisieren des Snippets", - "updateSuccess": "Snippet erfolgreich aktualisiert" + "lastActive": "Zuletzt aktiv", + "expires": "Läuft ab", + "revoked": "Widerrufen", + "revokeAllUserSessionsTitle": "Alle Sitzungen für diesen Benutzer widerrufen", + "revokeAll": "Alle widerrufen", + "linkOidcToPasswordAccount": "OIDC-Konto mit Passwort-Konto verknüpfen", + "linkOidcToPasswordAccountDescription": "{{username}} (OIDC-Benutzer) mit einem bestehenden Passwort-Konto verknüpfen. Dies aktiviert die duale Authentifizierung für das Passwort-Konto.", + "linkOidcWarningTitle": "Warnung: OIDC-Benutzerdaten werden gelöscht", + "linkOidcWarningDescription": "Diese Aktion wird:", + "linkOidcActionDeleteUser": "Das OIDC-Benutzerkonto und alle seine Daten löschen", + "linkOIDCActionAddCapability": "Dem Ziel-Passwort-Konto die OIDC-Anmeldefunktion hinzufügen", + "linkOIDCActionDualAuth": "Dem Passwort-Konto erlauben, sich sowohl mit Passwort als auch mit OIDC anzumelden", + "linkTargetUsernameLabel": "Benutzername des Ziel-Passwort-Kontos", + "linkTargetUsernamePlaceholder": "Benutzernamen des Passwort-Kontos eingeben", + "linkingAccounts": "Verknüpfen...", + "linkAccountsButton": "Konten verknüpfen", + "passwordMinLength": "Passwort muss mindestens 6 Zeichen lang sein", + "currentRoles": "Aktuelle Rollen", + "noRolesAssigned": "Keine Rollen zugewiesen", + "assignNewRole": "Neue Rolle zuweisen" } -} \ No newline at end of file +} diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 5294d156..e0617cf5 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -160,12 +160,30 @@ "generateEd25519": "Generate Ed25519", "generateECDSA": "Generate ECDSA", "generateRSA": "Generate RSA", + "keyTypeEcdsaP256": "ECDSA P-256 (SSH)", + "keyTypeEcdsaP384": "ECDSA P-384 (SSH)", + "keyTypeEcdsaP521": "ECDSA P-521 (SSH)", + "keyTypeDsa": "DSA (SSH)", + "keyTypeRsaSha256": "RSA-SHA2-256", + "keyTypeRsaSha512": "RSA-SHA2-512" + }, "keyPairGeneratedSuccessfully": "{{keyType}} key pair generated successfully", "failedToGenerateKeyPair": "Failed to generate key pair", "generateKeyPairNote": "Generate a new SSH key pair directly. This will replace any existing keys in the form.", "invalidKey": "Invalid Key", "detectionError": "Detection Error", - "unknown": "Unknown" + "removing": "Removing:", + "clickToEditCredential": "Click to edit credential", + "dragToMoveBetweenFolders": "Drag to move between folders", + "keyBasedOnlyForDeployment": "Only SSH key-based credentials can be deployed", + "publicKeyRequiredForDeployment": "Public key is required for deployment", + "selectTargetHost": "Please select a target host", + "keyDeployedSuccessfully": "SSH key deployed successfully", + "deploymentFailed": "Deployment failed", + "failedToDeployKey": "Failed to deploy SSH key", + "clickToRenameFolder": "Click to rename folder", + "renameFolder": "Rename folder", + "idLabel": "ID:" }, "dragIndicator": { "error": "Error: {{error}}", @@ -188,7 +206,10 @@ "commandsWillBeSent": "Commands will be sent to {{count}} selected terminal(s).", "settings": "Settings", "enableRightClickCopyPaste": "Enable right‑click copy/paste", - "shareIdeas": "Have ideas for what should come next for ssh tools? Share them on" + "shareIdeas": "Have ideas for what should come next for ssh tools? Share them on", + "scripts": { + "inputPlaceholder": "e.g., System Commands, Docker Scripts" + } }, "snippets": { "title": "Snippets", @@ -222,7 +243,34 @@ "runTooltip": "Execute this snippet in the terminal", "copyTooltip": "Copy snippet to clipboard", "editTooltip": "Edit this snippet", - "deleteTooltip": "Delete this snippet" + "deleteTooltip": "Delete this snippet", + "newFolder": "New Folder", + "reorderSameFolder": "Can only reorder snippets within the same folder", + "reorderSuccess": "Snippets reordered successfully", + "reorderFailed": "Failed to reorder snippets", + "deleteFolderConfirm": "Delete folder \"{{name}}\"? All snippets will be moved to Uncategorized.", + "deleteFolderSuccess": "Folder deleted successfully", + "deleteFolderFailed": "Failed to delete folder", + "updateFolderSuccess": "Folder updated successfully", + "createFolderSuccess": "Folder created successfully", + "updateFolderFailed": "Failed to update folder", + "createFolderFailed": "Failed to create folder", + "selectTerminals": "Select Terminals (optional)", + "executeOnSelected": "Execute on {{count}} selected terminal(s)", + "executeOnCurrent": "Execute on current terminal (click to select multiple)", + "folder": "Folder", + "selectFolder": "Select a folder or leave empty", + "noFolder": "No folder (Uncategorized)", + "folderName": "Folder Name", + "folderNameRequired": "Folder name is required", + "folderColor": "Folder Color", + "folderIcon": "Folder Icon", + "preview": "Preview", + "updateFolder": "Update Folder", + "createFolder": "Create Folder", + "editFolder": "Edit Folder", + "editFolderDescription": "Customize your snippet folder", + "createFolderDescription": "Organize your snippets into folders" }, "commandHistory": { "title": "History", @@ -236,7 +284,9 @@ "deleteSuccess": "Command deleted from history", "deleteFailed": "Failed to delete command.", "deleteTooltip": "Delete command", - "tabHint": "Use Tab in Terminal to autocomplete from command history" + "tabHint": "Use Tab in Terminal to autocomplete from command history", + "authRequiredRefresh": "Authentication required. Please refresh the page.", + "dataAccessLockedReauth": "Data access locked. Please re-authenticate." }, "homepage": { "loggedInTitle": "Logged in!", @@ -309,11 +359,13 @@ "home": "Home", "expired": "Expired", "expiresToday": "Expires today", - "expiresTomorrow": "Expires tomorrow", - "expiresInDays": "Expires in {{days}} days", + "expiresTomorrow": "Expires in {{days}} days", "updateAvailable": "Update Available", "sshPath": "SSH Path", "localPath": "Local Path", + "appName": "Termix", + "resetSidebarWidth": "Reset sidebar width", + "dragToResizeSidebar": "Drag to resize sidebar", "noAuthCredentials": "No authentication credentials available for this SSH host", "noReleases": "No Releases", "updatesAndReleases": "Updates & Releases", @@ -412,7 +464,8 @@ "sshManager": "SSH Manager", "hostManager": "Host Manager", "cannotSplitTab": "Cannot split this tab", - "tabNavigation": "Tab Navigation" + "tabNavigation": "Tab Navigation", + "hostTabTitle": "{{username}}@{{ip}}:{{port}}" }, "admin": { "title": "Admin Settings", @@ -670,7 +723,33 @@ "passwordLoginDisabledWarning": "Password login is disabled. Ensure OIDC is properly configured or you will not be able to log in to Termix.", "oidcRequiredWarning": "CRITICAL: Password login is disabled. If you reset or misconfigure OIDC, you will lose all access to Termix and brick your instance. Only proceed if you are absolutely certain.", "confirmDisableOIDCWarning": "WARNING: You are about to disable OIDC while password login is also disabled. This will brick your Termix instance and you will lose all access. Are you absolutely sure you want to proceed?", - "failedToUpdatePasswordLoginStatus": "Failed to update password login status" + "failedToUpdatePasswordLoginStatus": "Failed to update password login status", + "sessionManagement": "Session Management", + "loadingSessions": "Loading sessions...", + "noActiveSessions": "No active sessions found.", + "device": "Device", + "user": "User", + "created": "Created", + "lastActive": "Last Active", + "expires": "Expires", + "revoked": "Revoked", + "revokeAllUserSessionsTitle": "Revoke all sessions for this user", + "revokeAll": "Revoke All", + "linkOidcToPasswordAccount": "Link OIDC Account to Password Account", + "linkOidcToPasswordAccountDescription": "Link {{username}} (OIDC user) to an existing password account. This will enable dual authentication for the password account.", + "linkOidcWarningTitle": "Warning: OIDC User Data Will Be Deleted", + "linkOidcWarningDescription": "This action will:", + "linkOidcActionDeleteUser": "Delete the OIDC user account and all their data", + "linkOidcActionAddCapability": "Add OIDC login capability to the target password account", + "linkOidcActionDualAuth": "Allow the password account to login with both password and OIDC", + "linkTargetUsernameLabel": "Target Password Account Username", + "linkTargetUsernamePlaceholder": "Enter username of password account", + "linkingAccounts": "Linking...", + "linkAccountsButton": "Link Accounts", + "passwordMinLength": "Password must be at least 6 characters", + "currentRoles": "Current Roles", + "noRolesAssigned": "No roles assigned", + "assignNewRole": "Assign New Role" }, "hosts": { "title": "Host Manager", @@ -731,6 +810,8 @@ "enableTunnelDesc": "Enable/disable host visibility in Tunnel tab", "enableFileManager": "Enable File Manager", "enableFileManagerDesc": "Enable/disable host visibility in File Manager tab", + "enableDockerDesc": "Enable/disable host visibility in Docker tab", + "enableDocker": "Enable Docker", "defaultPath": "Default Path", "defaultPathDesc": "Default directory when opening file manager for this host", "tunnelConnections": "Tunnel Connections", @@ -833,8 +914,25 @@ "failedToDeleteHostsInFolder": "Failed to delete hosts in folder", "movedToFolder": "Host \"{{name}}\" moved to \"{{folder}}\" successfully", "failedToMoveToFolder": "Failed to move host to folder", + "clickToRenameFolder": "Click to rename folder", + "renameFolder": "Rename folder", + "removeFromFolder": "Remove from folder \"{{folder}}\"", + "editHostTooltip": "Edit host", + "deleteHostTooltip": "Delete host", + "exportHostTooltip": "Export host", + "cloneHostTooltip": "Clone host", + "clickToEditHost": "Click to edit host", + "dragToMoveBetweenFolders": "Drag to move between folders", + "exportedHostConfig": "Exported host configuration for {{name}}", + "openTerminal": "Open Terminal", + "openFileManager": "Open File Manager", + "openTunnels": "Open Tunnels", + "openServerDetails": "Open Server Details", "statistics": "Statistics", "enabledWidgets": "Enabled Widgets", + "openServerStats": "Open Server Stats", + "openFileManager": "Open File Manager", + "openTunnels": "Open Tunnels", "enabledWidgetsDesc": "Select which statistics widgets to display for this host", "monitoringConfiguration": "Monitoring Configuration", "monitoringConfigurationDesc": "Configure how often server statistics and status are checked", @@ -985,7 +1083,132 @@ "sudoPasswordAutoFill": "Sudo Password Auto-Fill", "sudoPasswordAutoFillDesc": "Automatically offer to insert SSH password when sudo prompts for password", "sudoPassword": "Sudo Password", - "sudoPasswordDesc": "Optional password for sudo commands (useful with key authentication)" + "sudoPasswordDesc": "Optional password for sudo commands (useful with key authentication)", + "socks4": "SOCKS4", + "socks5": "SOCKS5", + "executeSnippetOnConnect": "Execute a snippet when the terminal connects", + "autoMosh": "Auto-MOSH", + "autoMoshDesc": "Automatically run MOSH command on connect", + "moshCommand": "MOSH Command", + "moshCommandDesc": "The MOSH command to execute", + "environmentVariables": "Environment Variables", + "environmentVariablesDesc": "Set custom environment variables for the terminal session", + "variableName": "Variable name", + "variableValue": "Value", + "addVariable": "Add Variable", + "docker": "Docker", + "openDocker": "Open Docker", + "notEnabled": "Docker is not enabled for this host. Enable it in Host Settings to use Docker features.", + "validating": "Validating Docker...", + "error": "Error", + "errorCode": "Error code: {{code}}", + "version": "Docker v{{version}}", + "current": "Current", + "used_limit": "Used / Limit", + "percentage": "Percentage", + "input": "Input", + "output": "Output", + "read": "Read", + "write": "Write", + "pids": "PIDs", + "name": "Name", + "id": "ID", + "state": "State", + "console": "Console", + "containerMustBeRunning": "Container must be running to connect to console", + "authenticationRequired": "Authentication required", + "connectedTo": "Connected to {{containerName}}", + "disconnected": "Disconnected", + "consoleError": "Console error", + "errorMessage": "Error: {{message}}", + "failedToConnect": "Failed to connect to console", + "disconnectedFromContainer": "Disconnected from container console.", + "containerNotRunning": "Container is not running", + "startContainerToAccess": "Start the container to access the console", + "selectShell": "Select shell", + "bash": "Bash", + "sh": "Sh", + "ash": "Ash", + "connecting": "Connecting...", + "connect": "Connect", + "disconnect": "Disconnect", + "notConnected": "Not connected", + "clickToConnect": "Click Connect to start an interactive shell", + "connectingTo": "Connecting to {{containerName}}...", + "containerMustBeRunningToViewStats": "Container must be running to view stats", + "failedToFetchStats": "Failed to fetch stats", + "noContainersFound": "No containers found", + "noContainersFoundHint": "Start by creating containers on your server", + "searchPlaceholder": "Search by name, image, or ID...", + "filterByStatusPlaceholder": "Filter by status", + "allContainersCount": "All ({{count}})", + "statusCount": "{{status}} ({{count}})", + "noContainersMatchFilters": "No containers match your filters", + "noContainersMatchFiltersHint": "Try adjusting your search or filter", + "containerStarted": "Container {{name}} started", + "failedToStartContainer": "Failed to start container: {{error}}", + "containerStopped": "Container {{name}} stopped", + "failedToStopContainer": "Failed to stop container: {{error}}", + "containerRestarted": "Container {{name}} restarted", + "failedToRestartContainer": "Failed to restart container: {{error}}", + "containerUnpaused": "Container {{name}} unpaused", + "containerPaused": "Container {{name}} paused", + "failedToTogglePauseContainer": "Failed to {{action}} container: {{error}}", + "containerRemoved": "Container {{name}} removed", + "failedToRemoveContainer": "Failed to remove container: {{error}}", + "image": "Image:", + "idLabel": "ID:", + "ports": "Ports:", + "noPorts": "None", + "created": "Created:", + "start": "Start", + "stop": "Stop", + "unpause": "Unpause", + "pause": "Pause", + "restart": "Restart", + "remove": "Remove", + "removeContainer": "Remove Container", + "confirmRemoveContainer": "Are you sure you want to remove container \"{{name}}\"?", + "runningContainerWarning": "Warning: This container is currently running and will be force-removed.", + "removing": "Removing:", + "containerNotFound": "Container not found", + "backToList": "Back to list", + "logs": "Logs", + "stats": "Stats", + "consoleTab": "Console", + "failedToFetchLogs": "Failed to fetch logs: {{error}}", + "failedToDownloadLogs": "Failed to download logs: {{error}}", + "linesToShow": "Lines to show", + "last50Lines": "Last 50 lines", + "last100Lines": "Last 100 lines", + "last500Lines": "Last 500 lines", + "last1000Lines": "Last 1000 lines", + "allLogs": "All logs", + "showTimestamps": "Show Timestamps", + "autoRefresh": "Auto Refresh", + "filterLogsPlaceholder": "Filter logs...", + "noLogsAvailable": "No logs available" + }, + "terminal": { + "title": "Split Screen", + "none": "None", + "twoSplit": "2-Split", + "threeSplit": "3-Split", + "fourSplit": "4-Split", + "availableTabs": "Available Tabs", + "dragTabsHint": "Drag tabs into the grid below to position them", + "layout": "Layout", + "dropHere": "Drop tab here", + "apply": "Apply Split", + "clear": "Clear", + "selectMode": "Select a split mode to get started", + "helpText": "Choose how many tabs you want to display at once", + "error": { + "noAssignments": "Please drag tabs to cells before applying", + "fillAllSlots": "Please fill all {{count}} layout spots before applying" + }, + "success": "Split screen applied", + "cleared": "Split screen cleared" }, "terminal": { "title": "Terminal", @@ -1316,6 +1539,23 @@ "loadFileFailed": "Failed to load file: {{error}}", "connectedSuccessfully": "Connected successfully", "totpVerificationFailed": "TOTP verification failed", + "sshConnectionFailed": "SSH connection failed. Please check your connection to {{name}} ({{ip}}:{{port}})", + "verificationCodePrompt": "Verification code:", + "newFolderDefault": "NewFolder", + "newFileDefault": "NewFile.txt", + "successfullyMovedItems": "Successfully moved {{count}} items to {{target}}", + "move": "Move", + "searchInFile": "Search in file (Ctrl+F)", + "showKeyboardShortcuts": "Show keyboard shortcuts", + "startWritingMarkdown": "Start writing your markdown content...", + "loadingFileComparison": "Loading file comparison...", + "reload": "Reload", + "compare": "Compare", + "sideBySide": "Side by Side", + "inline": "Inline", + "fileComparison": "File Comparison: {{file1}} vs {{file2}}", + "fileTooLarge": "File too large: {{error}}", + "connectedSuccessfully": "Connected successfully", "changePermissions": "Change Permissions", "changePermissionsDesc": "Modify file permissions for", "currentPermissions": "Current Permissions", @@ -1338,7 +1578,7 @@ "connecting": "Connecting...", "disconnecting": "Disconnecting...", "unknownTunnelStatus": "Unknown", - "unknown": "Unknown", + "statusUnknown": "Unknown" "error": "Error", "failed": "Failed", "retrying": "Retrying", @@ -1353,6 +1593,7 @@ "attempt": "Attempt {{current}} of {{max}}", "nextRetryIn": "Next retry in {{seconds}} seconds", "checkDockerLogs": "Check your Docker logs for the error reason, join the", + "orCreate": "or create a ",, "noTunnelConnections": "No tunnel connections configured", "tunnelConnections": "Tunnel Connections", "addTunnel": "Add Tunnel", @@ -1641,6 +1882,7 @@ "commandAutocompleteDesc": "Enable Tab key autocomplete suggestions for terminal commands based on your command history", "defaultSnippetFoldersCollapsed": "Collapse Snippet Folders by Default", "defaultSnippetFoldersCollapsedDesc": "When enabled, all snippet folders will be collapsed when you open the snippets tab", + "terminalSyntaxHighlighting": "Terminal Syntax Highlighting", "showHostTags": "Show Host Tags", "showHostTagsDesc": "Display tags under each host in the sidebar. Disable to hide all tags.", "account": "Account", @@ -1704,7 +1946,12 @@ "socks5Username": "proxy username", "socks5Password": "proxy password", "socks5PresetName": "e.g., Work VPN Chain", - "socks5PresetDescription": "e.g., Proxy chain for accessing work servers" + "socks5PresetDescription": "e.g., Proxy chain for accessing work servers", + "moshCommand": "mosh user@server", + "defaultPort": "22", + "defaultEndpointPort": "224", + "defaultMaxRetries": "3", + "defaultRetryInterval": "10" }, "leftSidebar": { "failedToLoadHosts": "Failed to load hosts", @@ -1951,6 +2198,8 @@ "noCustomRolesToAssign": "No custom roles available. System roles are auto-assigned.", "credentialSharingWarning": "Credential Authentication Not Supported for Sharing", "credentialSharingWarningDescription": "This host uses credential-based authentication. Shared users will not be able to connect because credentials are encrypted per-user and cannot be shared. Please use password or key-based authentication for hosts you intend to share.", + "credentialRequired": "Credential is required when using credential authentication", + "credentialRequiredDescription": "This host uses credential-based authentication. Shared users will not be able to connect because credentials are encrypted per-user and cannot be shared. Please use password or key-based authentication for hosts you intend to share.", "auditLogs": "Audit Logs", "viewAuditLogs": "View Audit Logs", "action": "Action", @@ -2060,6 +2309,7 @@ "press": "Press", "toToggle": "to toggle", "close": "Close", - "hostManager": "Host Manager" + "hostManager": "Host Manager", + "pressToToggle": "Press Left Shift twice to open the command palette" } } diff --git a/src/locales/fr/translation.json b/src/locales/fr/translation.json index 60bda5bd..3e6895ca 100644 --- a/src/locales/fr/translation.json +++ b/src/locales/fr/translation.json @@ -108,6 +108,7 @@ "orCreateNewFolder": "Ou créer un nouveau dossier", "addTag": "Ajouter un label", "saving": "Enregistrement...", + "credentialId": "ID de l'identifiant", "overview": "Vue d'ensemble", "security": "Sécurité", "usage": "Utilisation", @@ -164,8 +165,7 @@ "generateKeyPairNote": "Générez une nouvelle paire de clés SSH directement. Cela remplacera toute clé existante dans le formulaire.", "invalidKey": "Clé invalide", "detectionError": "Erreur de détection", - "unknown": "Inconnu", - "credentialId": "ID de l'identifiant" + "unknown": "Inconnu" }, "dragIndicator": { "error": "Erreur : {{error}}", @@ -188,7 +188,10 @@ "commandsWillBeSent": "Les commandes seront envoyées aux {{count}} terminaux sélectionnés.", "settings": "Paramètres", "enableRightClickCopyPaste": "Activer le copier/coller avec le clic droit", - "shareIdeas": "Des idées pour la suite des outils SSH ? Partagez-les sur" + "shareIdeas": "Des idées pour la suite des outils SSH ? Partagez-les sur", + "scripts": { + "inputPlaceholder": "ex., Commandes système, Scripts Docker" + } }, "snippets": { "title": "Extraits", @@ -302,6 +305,7 @@ "optional": "Facultatif", "connect": "Se connecter", "connecting": "Connexion...", + "creating": "Création...", "clear": "Effacer", "toggleSidebar": "Afficher/masquer la barre latérale", "sidebar": "Barre latérale", @@ -350,6 +354,7 @@ "submit": "Envoyer", "change": "Modifier", "save": "Enregistrer", + "saving": "Enregistrement...", "delete": "Supprimer", "edit": "Modifier", "add": "Ajouter", @@ -387,7 +392,10 @@ "retry": "Réessayer", "checking": "Vérification...", "checkingDatabase": "Vérification de la connexion à la base de données...", - "saving": "Enregistrement..." + "actions": "Actions", + "remove": "Retirer", + "revoke": "Révoquer", + "create": "Créer" }, "nav": { "home": "Accueil", @@ -408,1382 +416,5 @@ "hostManager": "Gestionnaire d'hôtes", "cannotSplitTab": "Impossible de diviser cet onglet", "tabNavigation": "Navigation par onglets" - }, - "admin": { - "title": "Paramètres d'administration", - "oidc": "OIDC", - "users": "Utilisateurs", - "userManagement": "Gestion des utilisateurs", - "makeAdmin": "Nommer administrateur", - "removeAdmin": "Retirer l'administrateur", - "deleteUser": "Supprimer l'utilisateur {{username}} ? Cette action est irréversible.", - "allowRegistration": "Autoriser l'inscription", - "oidcSettings": "Paramètres OIDC", - "clientId": "ID client", - "clientSecret": "Secret client", - "issuerUrl": "URL de l'émetteur", - "authorizationUrl": "URL d'autorisation", - "tokenUrl": "URL du jeton", - "updateSettings": "Mettre à jour les paramètres", - "confirmDelete": "Voulez-vous vraiment supprimer cet utilisateur ?", - "confirmMakeAdmin": "Voulez-vous vraiment donner les droits d'administration à cet utilisateur ?", - "confirmRemoveAdmin": "Voulez-vous vraiment retirer les droits d'administration de cet utilisateur ?", - "externalAuthentication": "Authentification externe (OIDC)", - "configureExternalProvider": "Configurez un fournisseur d'identité externe pour l'authentification OIDC/OAuth2.", - "userIdentifierPath": "Chemin de l'identifiant utilisateur", - "displayNamePath": "Chemin du nom d'affichage", - "scopes": "Scopes", - "saving": "Enregistrement...", - "saveConfiguration": "Enregistrer la configuration", - "reset": "Réinitialiser", - "success": "Succès", - "loading": "Chargement...", - "refresh": "Actualiser", - "loadingUsers": "Chargement des utilisateurs...", - "username": "Nom d'utilisateur", - "type": "Type", - "actions": "Actions", - "external": "Externe", - "local": "Local", - "adminManagement": "Gestion des administrateurs", - "makeUserAdmin": "Nommer l'utilisateur administrateur", - "adding": "Ajout...", - "currentAdmins": "Administrateurs actuels", - "adminBadge": "Administrateur", - "removeAdminButton": "Retirer l'administrateur", - "general": "Général", - "userRegistration": "Inscription utilisateur", - "allowNewAccountRegistration": "Autoriser l'inscription de nouveaux comptes", - "allowPasswordLogin": "Autoriser la connexion par nom d'utilisateur/mot de passe", - "missingRequiredFields": "Champs obligatoires manquants : {{fields}}", - "oidcConfigurationUpdated": "Configuration OIDC mise à jour avec succès !", - "failedToFetchOidcConfig": "Échec de la récupération de la configuration OIDC", - "failedToFetchRegistrationStatus": "Échec de la récupération de l'état des inscriptions", - "failedToFetchPasswordLoginStatus": "Échec de la récupération de l'état de la connexion par mot de passe", - "failedToFetchUsers": "Échec de la récupération des utilisateurs", - "oidcConfigurationDisabled": "Configuration OIDC désactivée avec succès !", - "failedToUpdateOidcConfig": "Échec de la mise à jour de la configuration OIDC", - "failedToDisableOidcConfig": "Échec de la désactivation de la configuration OIDC", - "enterUsernameToMakeAdmin": "Saisissez le nom d'utilisateur à promouvoir administrateur", - "userIsNowAdmin": "L'utilisateur {{username}} est désormais administrateur", - "failedToMakeUserAdmin": "Échec de la promotion de l'utilisateur en administrateur", - "removeAdminStatus": "Retirer le statut d'administrateur à {{username}} ?", - "adminStatusRemoved": "Statut d'administrateur retiré pour {{username}}", - "failedToRemoveAdminStatus": "Échec du retrait du statut d'administrateur", - "userDeletedSuccessfully": "Utilisateur {{username}} supprimé avec succès", - "failedToDeleteUser": "Échec de la suppression de l'utilisateur", - "overrideUserInfoUrl": "Remplacer l'URL Utilisateur Info (optionnel)", - "failedToFetchSessions": "Échec de la récupération des sessions", - "sessionRevokedSuccessfully": "Session révoquée avec succès", - "failedToRevokeSession": "Échec de la révocation de la session", - "confirmRevokeSession": "Voulez-vous vraiment révoquer cette session ?", - "confirmRevokeAllSessions": "Voulez-vous vraiment révoquer toutes les sessions de cet utilisateur ?", - "failedToRevokeSessions": "Échec de la révocation des sessions", - "sessionsRevokedSuccessfully": "Sessions révoquées avec succès", - "databaseSecurity": "Sécurité de la base de données", - "encryptionStatus": "État du chiffrement", - "encryptionEnabled": "Chiffrement activé", - "enabled": "Activé", - "disabled": "Désactivé", - "keyId": "ID de clé", - "created": "Créé", - "migrationStatus": "État de la migration", - "migrationCompleted": "Migration terminée", - "migrationRequired": "Migration requise", - "deviceProtectedMasterKey": "Clé maître protégée par l'environnement", - "legacyKeyStorage": "Stockage de clés hérité", - "masterKeyEncryptedWithDeviceFingerprint": "Clé maître chiffrée avec l'empreinte de l'environnement (protection KEK active)", - "keyNotProtectedByDeviceBinding": "Clé non protégée par l'environnement (mise à niveau recommandée)", - "valid": "Valide", - "initializeDatabaseEncryption": "Initialiser le chiffrement de la base", - "enableAes256EncryptionWithDeviceBinding": "Activez le chiffrement AES-256 avec une clé maître liée à l'environnement. Cela offre une sécurité de niveau entreprise pour les clés SSH, mots de passe et jetons.", - "featuresEnabled": "Fonctionnalités activées :", - "aes256GcmAuthenticatedEncryption": "Chiffrement authentifié AES-256-GCM", - "deviceFingerprintMasterKeyProtection": "Protection de la clé maître par empreinte d'environnement (KEK)", - "pbkdf2KeyDerivation": "Dérivation de clé PBKDF2 avec 100K itérations", - "automaticKeyManagement": "Gestion et rotation automatiques des clés", - "initializing": "Initialisation...", - "initializeEnterpriseEncryption": "Initialiser le chiffrement entreprise", - "migrateExistingData": "Migrer les données existantes", - "encryptExistingUnprotectedData": "Chiffrez les données non protégées existantes dans votre base. Ce processus est sûr et crée des sauvegardes automatiques.", - "testMigrationDryRun": "Vérifier la compatibilité du chiffrement", - "migrating": "Migration...", - "migrateData": "Migrer les données", - "securityInformation": "Informations de sécurité", - "sshPrivateKeysEncryptedWithAes256": "Les clés privées SSH et mots de passe sont chiffrés en AES-256-GCM", - "userAuthTokensProtected": "Les jetons d'authentification utilisateur et secrets 2FA sont protégés", - "masterKeysProtectedByDeviceFingerprint": "Les clés maîtres sont protégées par empreinte d'environnement (KEK)", - "keysBoundToServerInstance": "Les clés sont liées à l'environnement serveur actuel (migrable via variables d'environnement)", - "pbkdf2HkdfKeyDerivation": "Dérivation de clé PBKDF2 + HKDF avec 100K itérations", - "backwardCompatibleMigration": "Toutes les données restent rétrocompatibles pendant la migration", - "enterpriseGradeSecurityActive": "Sécurité de niveau entreprise active", - "masterKeysProtectedByDeviceBinding": "Vos clés maîtres sont protégées par l'empreinte de l'environnement. Cela utilise le nom d'hôte, les chemins et autres infos pour générer les clés de protection. Pour migrer, définissez la variable d'environnement DB_ENCRYPTION_KEY sur le nouveau serveur.", - "important": "Important", - "keepEncryptionKeysSecure": "Assurez la sécurité des données : sauvegardez régulièrement vos fichiers de base de données et votre configuration serveur. Pour migrer, définissez DB_ENCRYPTION_KEY sur le nouvel environnement ou conservez le même nom d'hôte et la même arborescence.", - "loadingEncryptionStatus": "Chargement de l'état du chiffrement...", - "testMigrationDescription": "Vérifiez que les données existantes peuvent être migrées vers le format chiffré sans modification", - "serverMigrationGuide": "Guide de migration du serveur", - "migrationInstructions": "Pour migrer des données chiffrées vers un nouveau serveur : 1) Sauvegardez les fichiers de base, 2) Définissez DB_ENCRYPTION_KEY=\"votre-clé\" sur le nouveau serveur, 3) Restaurez les fichiers de base", - "environmentProtection": "Protection de l'environnement", - "environmentProtectionDesc": "Protège les clés de chiffrement à partir des informations de l'environnement serveur (nom d'hôte, chemins, etc.), migrable via variables d'environnement", - "verificationCompleted": "Vérification de compatibilité terminée - aucune donnée n'a été modifiée", - "verificationInProgress": "Vérification terminée", - "dataMigrationCompleted": "Migration des données terminée avec succès !", - "verificationFailed": "Échec de la vérification de compatibilité", - "migrationFailed": "Échec de la migration", - "runningVerification": "Exécution de la vérification de compatibilité...", - "startingMigration": "Démarrage de la migration...", - "hardwareFingerprintSecurity": "Sécurité par empreinte matérielle", - "hardwareBoundEncryption": "Chiffrement lié au matériel actif", - "masterKeysNowProtectedByHardwareFingerprint": "Les clés maîtres sont désormais protégées par une véritable empreinte matérielle plutôt que par des variables d'environnement", - "cpuSerialNumberDetection": "Détection du numéro de série CPU", - "motherboardUuidIdentification": "Identification de l'UUID de la carte mère", - "diskSerialNumberVerification": "Vérification du numéro de série du disque", - "biosSerialNumberCheck": "Contrôle du numéro de série du BIOS", - "stableMacAddressFiltering": "Filtrage des adresses MAC stables", - "databaseFileEncryption": "Chiffrement des fichiers de base de données", - "dualLayerProtection": "Protection à double couche active", - "bothFieldAndFileEncryptionActive": "Le chiffrement au niveau des champs et des fichiers est maintenant actif pour une sécurité maximale", - "fieldLevelAes256Encryption": "Chiffrement AES-256 au niveau des champs pour les données sensibles", - "fileLevelDatabaseEncryption": "Chiffrement des fichiers de base avec liaison matérielle", - "hardwareBoundFileKeys": "Clés de chiffrement des fichiers liées au matériel", - "automaticEncryptedBackups": "Création automatique de sauvegardes chiffrées", - "createEncryptedBackup": "Créer une sauvegarde chiffrée", - "creatingBackup": "Création de la sauvegarde...", - "backupCreated": "Sauvegarde créée", - "encryptedBackupCreatedSuccessfully": "Sauvegarde chiffrée créée avec succès", - "backupCreationFailed": "Échec de la création de la sauvegarde", - "databaseMigration": "Migration de la base de données", - "exportForMigration": "Exporter pour migration", - "exportDatabaseForHardwareMigration": "Exporter la base au format SQLite avec données déchiffrées pour migration vers un nouveau matériel", - "exportDatabase": "Exporter la base SQLite", - "exporting": "Exportation...", - "exportCreated": "Export SQLite créé", - "exportContainsDecryptedData": "L'export SQLite contient des données déchiffrées - conservez-le en lieu sûr !", - "databaseExportedSuccessfully": "Base SQLite exportée avec succès", - "databaseExportFailed": "Échec de l'export SQLite", - "importFromMigration": "Importer depuis une migration", - "importDatabaseFromAnotherSystem": "Importer une base SQLite depuis un autre système ou matériel", - "importDatabase": "Importer une base SQLite", - "importing": "Importation...", - "selectedFile": "Fichier SQLite sélectionné", - "importWillReplaceExistingData": "L'import SQLite remplacera les données existantes - sauvegarde recommandée !", - "pleaseSelectImportFile": "Veuillez sélectionner un fichier SQLite à importer", - "databaseImportedSuccessfully": "Base SQLite importée avec succès", - "databaseImportFailed": "Échec de l'import SQLite", - "manageEncryptionAndBackups": "Gérez les clés de chiffrement, la sécurité de la base et les sauvegardes", - "activeSecurityFeatures": "Mesures de sécurité actuellement actives", - "deviceBindingTechnology": "Technologie avancée de liaison matérielle des clés", - "backupAndRecovery": "Options de sauvegarde sécurisée et de restauration", - "crossSystemDataTransfer": "Export et import de bases entre différents systèmes", - "noMigrationNeeded": "Aucune migration nécessaire", - "encryptionKey": "Clé de chiffrement", - "keyProtection": "Protection de la clé", - "active": "Actif", - "legacy": "Hérité", - "dataStatus": "État des données", - "encrypted": "Chiffré", - "needsMigration": "Migration nécessaire", - "ready": "Prêt", - "initializeEncryption": "Initialiser le chiffrement", - "initialize": "Initialiser", - "test": "Tester", - "migrate": "Migrer", - "backup": "Sauvegarder", - "createBackup": "Créer une sauvegarde", - "exportImport": "Exporter/Importer", - "export": "Exporter", - "import": "Importer", - "passwordRequired": "Mot de passe requis", - "confirmExport": "Confirmer l'export", - "exportDescription": "Exporter les hôtes et identifiants SSH au format SQLite", - "importDescription": "Importer un fichier SQLite avec fusion incrémentale (ignore les doublons)", - "criticalWarning": "Avertissement critique", - "cannotDisablePasswordLoginWithoutOIDC": "Impossible de désactiver la connexion par mot de passe sans configurer OIDC ! Configurez d'abord l'authentification OIDC, sinon vous perdrez l'accès à Termix.", - "confirmDisablePasswordLogin": "Voulez-vous vraiment désactiver la connexion par mot de passe ? Assurez-vous qu'OIDC est correctement configuré et fonctionnel avant de continuer, sous peine de perdre l'accès à votre instance Termix.", - "passwordLoginDisabled": "Connexion par mot de passe désactivée avec succès", - "passwordLoginAndRegistrationDisabled": "Connexion par mot de passe et inscription des nouveaux comptes désactivées avec succès", - "requiresPasswordLogin": "Nécessite la connexion par mot de passe activée", - "passwordLoginDisabledWarning": "La connexion par mot de passe est désactivée. Vérifiez qu'OIDC est correctement configuré sinon vous ne pourrez plus vous connecter à Termix.", - "oidcRequiredWarning": "CRITIQUE : la connexion par mot de passe est désactivée. Si vous réinitialisez ou mal configurez OIDC, vous perdrez tout accès à Termix et bloquerez l'instance. Ne continuez que si vous en êtes absolument certain.", - "confirmDisableOIDCWarning": "AVERTISSEMENT : vous êtes sur le point de désactiver OIDC alors que la connexion par mot de passe est désactivée. Cela bloquera votre instance Termix et vous perdrez tout accès. Êtes-vous vraiment sûr de vouloir continuer ?", - "accountsLinkedSuccessfully": "Le compte OIDC {{oidcUsername}} a été lié à {{targetUsername}}", - "failedToLinkAccounts": "Impossible de lier les comptes", - "failedToUnlinkOIDC": "Impossible de délier OIDC", - "linkAccountsButton": "Lier les comptes", - "linkOIDCActionAddCapability": "Ajouter la capacité de connexion OIDC au compte mot de passe cible", - "linkOIDCActionDeleteUser": "Supprimer le compte utilisateur OIDC et toutes ses données", - "linkOIDCActionDualAuth": "Autoriser le compte mot de passe à se connecter avec le mot de passe et OIDC", - "linkOIDCDialogDescription": "Lier {{username}} (utilisateur OIDC) à un compte mot de passe existant. Cela activera la double authentification pour le compte mot de passe.", - "linkOIDCDialogTitle": "Lier Compte OIDC au Compte Mot de Passe", - "linkOIDCWarningTitle": "Avertissement : Les données de l'utilisateur OIDC seront supprimées", - "linkTargetUsernameLabel": "Nom d'utilisateur du compte mot de passe cible", - "linkTargetUsernamePlaceholder": "Entrer le nom d'utilisateur du compte mot de passe", - "linkTargetUsernameRequired": "Le nom d'utilisateur cible est requis", - "linkToPasswordAccount": "Lier au Compte Mot de Passe", - "linkingAccounts": "Liaison en cours...", - "unlinkOIDCDescription": "Retirer l'authentification OIDC de {{username}} ? L'utilisateur ne pourra se connecter qu'avec nom d'utilisateur/mot de passe après cela.", - "unlinkOIDCSuccess": "OIDC délié de {{username}}", - "unlinkOIDCTitle": "Délier l'Authentification OIDC", - "failedToUpdatePasswordLoginStatus": "Impossible de mettre à jour le statut de connexion par mot de passe" - }, - "hosts": { - "title": "Gestionnaire d'hôtes", - "sshHosts": "Hôtes SSH", - "noHosts": "Aucun hôte SSH", - "noHostsMessage": "Vous n'avez pas encore ajouté d'hôte SSH. Cliquez sur \"Ajouter un hôte\" pour commencer.", - "loadingHosts": "Chargement des hôtes...", - "failedToLoadHosts": "Échec du chargement des hôtes", - "retry": "Réessayer", - "refresh": "Actualiser", - "hostsCount": "{{count}} hôtes", - "importJson": "Importer JSON", - "importing": "Importation...", - "importJsonTitle": "Importer des hôtes SSH depuis un JSON", - "importJsonDesc": "Téléversez un fichier JSON pour importer en masse plusieurs hôtes SSH (100 max).", - "downloadSample": "Télécharger un exemple", - "formatGuide": "Guide de format", - "exportCredentialWarning": "Attention : l'hôte \"{{name}}\" utilise une authentification par identifiant. Le fichier exporté n'inclura pas les données d'identifiant et devra être reconfiguré manuellement après import. Voulez-vous continuer ?", - "exportSensitiveDataWarning": "Attention : l'hôte \"{{name}}\" contient des données d'authentification sensibles (mot de passe/clé SSH). Le fichier exporté inclura ces données en clair. Conservez-le en lieu sûr et supprimez-le après usage. Voulez-vous continuer ?", - "uncategorized": "Non classé", - "confirmDelete": "Voulez-vous vraiment supprimer \"{{name}}\" ?", - "failedToDeleteHost": "Échec de la suppression de l'hôte", - "failedToExportHost": "Échec de l'export de l'hôte. Vérifiez que vous êtes connecté et que vous avez accès aux données de l'hôte.", - "jsonMustContainHosts": "Le JSON doit contenir un tableau \"hosts\" ou être un tableau d'hôtes", - "noHostsInJson": "Aucun hôte trouvé dans le fichier JSON", - "maxHostsAllowed": "Maximum 100 hôtes par import", - "importCompleted": "Import terminé : {{success}} réussi(s), {{failed}} échec(s)", - "importFailed": "Échec de l'import", - "importError": "Erreur d'import", - "failedToImportJson": "Échec de l'import du fichier JSON", - "connectionDetails": "Détails de connexion", - "organization": "Organisation", - "ipAddress": "Adresse IP", - "port": "Port", - "name": "Nom", - "username": "Nom d'utilisateur", - "folder": "Dossier", - "tags": "Labels", - "pin": "Épingler", - "passwordRequired": "Le mot de passe est requis avec l'authentification par mot de passe", - "sshKeyRequired": "La clé privée SSH est requise avec l'authentification par clé", - "keyTypeRequired": "Le type de clé est requis avec l'authentification par clé", - "mustSelectValidSshConfig": "Vous devez sélectionner une configuration SSH valide dans la liste", - "addHost": "Ajouter un hôte", - "editHost": "Modifier l'hôte", - "cloneHost": "Cloner l'hôte", - "updateHost": "Mettre à jour l'hôte", - "hostUpdatedSuccessfully": "Hôte \"{{name}}\" mis à jour avec succès !", - "hostAddedSuccessfully": "Hôte \"{{name}}\" ajouté avec succès !", - "hostDeletedSuccessfully": "Hôte \"{{name}}\" supprimé avec succès !", - "failedToSaveHost": "Échec de l'enregistrement de l'hôte. Veuillez réessayer.", - "enableTerminal": "Activer le terminal", - "enableTerminalDesc": "Afficher/masquer l'hôte dans l'onglet Terminal", - "enableTunnel": "Activer le tunnel", - "enableTunnelDesc": "Afficher/masquer l'hôte dans l'onglet Tunnel", - "enableFileManager": "Activer le gestionnaire de fichiers", - "enableFileManagerDesc": "Afficher/masquer l'hôte dans l'onglet Gestionnaire de fichiers", - "defaultPath": "Chemin par défaut", - "defaultPathDesc": "Répertoire par défaut à l'ouverture du gestionnaire de fichiers pour cet hôte", - "tunnelConnections": "Connexions de tunnel", - "connection": "Connexion", - "remove": "Supprimer", - "sourcePort": "Port source", - "sourcePortDesc": " (La source correspond aux détails de connexion actuels dans l'onglet Général)", - "endpointPort": "Port de destination", - "endpointSshConfig": "Configuration SSH de destination", - "tunnelForwardDescription": "Ce tunnel redirigera le trafic du port {{sourcePort}} sur la machine source (détails de connexion dans l'onglet Général) vers le port {{endpointPort}} sur la machine de destination.", - "maxRetries": "Nombre max de tentatives", - "maxRetriesDescription": "Nombre maximal de tentatives de reconnexion du tunnel.", - "retryInterval": "Intervalle de tentative (secondes)", - "retryIntervalDescription": "Temps d'attente entre les tentatives.", - "autoStartContainer": "Démarrage auto au lancement du conteneur", - "autoStartDesc": "Démarre automatiquement ce tunnel au lancement du conteneur", - "addConnection": "Ajouter une connexion de tunnel", - "sshpassRequired": "Sshpass requis pour l'authentification par mot de passe", - "sshpassRequiredDesc": "Pour l'authentification par mot de passe dans les tunnels, sshpass doit être installé sur le système.", - "otherInstallMethods": "Autres méthodes d'installation :", - "debianUbuntuEquivalent": "(Debian/Ubuntu) ou équivalent selon votre OS.", - "or": "ou", - "centosRhelFedora": "CentOS/RHEL/Fedora", - "macos": "macOS", - "windows": "Windows", - "sshServerConfigRequired": "Configuration du serveur SSH requise", - "sshServerConfigDesc": "Pour les tunnels, le serveur SSH doit être configuré pour autoriser le transfert de ports :", - "gatewayPortsYes": "pour lier les ports distants à toutes les interfaces", - "allowTcpForwardingYes": "pour autoriser le transfert de ports", - "permitRootLoginYes": "si vous utilisez l'utilisateur root pour le tunneling", - "editSshConfig": "Modifiez /etc/ssh/sshd_config et redémarrez SSH : sudo systemctl restart sshd", - "upload": "Importer", - "authentication": "Authentification", - "password": "Mot de passe", - "key": "Clé", - "credential": "Identifiant", - "none": "Aucun", - "selectCredential": "Sélectionner un identifiant", - "selectCredentialPlaceholder": "Choisissez un identifiant...", - "credentialRequired": "Un identifiant est requis avec l'authentification par identifiant", - "credentialDescription": "La sélection d'un identifiant remplacera le nom d'utilisateur actuel et utilisera ses informations d'authentification.", - "sshPrivateKey": "Clé privée SSH", - "keyPassword": "Mot de passe de la clé", - "keyType": "Type de clé", - "autoDetect": "Détection automatique", - "rsa": "RSA", - "ed25519": "ED25519", - "ecdsaNistP256": "ECDSA NIST P-256", - "ecdsaNistP384": "ECDSA NIST P-384", - "ecdsaNistP521": "ECDSA NIST P-521", - "dsa": "DSA", - "rsaSha2256": "RSA SHA2-256", - "rsaSha2512": "RSA SHA2-512", - "uploadFile": "Importer un fichier", - "pasteKey": "Coller la clé", - "updateKey": "Mettre à jour la clé", - "existingKey": "Clé existante (cliquez pour modifier)", - "existingCredential": "Identifiant existant (cliquez pour modifier)", - "addTagsSpaceToAdd": "Ajouter des labels (espace pour valider)", - "terminalBadge": "Terminal", - "tunnelBadge": "Tunnel", - "fileManagerBadge": "Gestionnaire de fichiers", - "general": "Général", - "terminal": "Terminal", - "tunnel": "Tunnel", - "fileManager": "Gestionnaire de fichiers", - "serverStats": "Statistiques serveur", - "hostViewer": "Visionneuse d'hôte", - "enableServerStats": "Activer les statistiques serveur", - "enableServerStatsDesc": "Activer/désactiver la collecte des statistiques pour cet hôte", - "displayItems": "Éléments affichés", - "displayItemsDesc": "Choisissez les métriques à montrer sur la page des statistiques", - "enableCpu": "Utilisation CPU", - "enableMemory": "Utilisation mémoire", - "enableDisk": "Utilisation disque", - "enableNetwork": "Statistiques réseau (bientôt)", - "enableProcesses": "Nombre de processus (bientôt)", - "enableUptime": "Durée de fonctionnement (bientôt)", - "enableHostname": "Nom d'hôte (bientôt)", - "enableOs": "Système d'exploitation (bientôt)", - "customCommands": "Commandes personnalisées (bientôt)", - "customCommandsDesc": "Définissez des commandes d'arrêt et de redémarrage personnalisées pour ce serveur", - "shutdownCommand": "Commande d'arrêt", - "rebootCommand": "Commande de redémarrage", - "confirmRemoveFromFolder": "Voulez-vous vraiment retirer \"{{name}}\" du dossier \"{{folder}}\" ? L'hôte sera déplacé vers \"Sans dossier\".", - "removedFromFolder": "Hôte \"{{name}}\" retiré du dossier avec succès", - "failedToRemoveFromFolder": "Échec du retrait de l'hôte du dossier", - "folderRenamed": "Dossier \"{{oldName}}\" renommé en \"{{newName}}\" avec succès", - "failedToRenameFolder": "Échec du renommage du dossier", - "movedToFolder": "Hôte \"{{name}}\" déplacé vers \"{{folder}}\" avec succès", - "failedToMoveToFolder": "Échec du déplacement de l'hôte vers le dossier", - "statistics": "Statistiques", - "enabledWidgets": "Widgets activés", - "enabledWidgetsDesc": "Sélectionnez les widgets de statistiques à afficher pour cet hôte", - "monitoringConfiguration": "Configuration de la surveillance", - "monitoringConfigurationDesc": "Configurez la fréquence des vérifications d'état et des statistiques", - "statusCheckEnabled": "Activer la surveillance d'état", - "statusCheckEnabledDesc": "Vérifie si le serveur est en ligne ou hors ligne", - "statusCheckInterval": "Intervalle de vérification d'état", - "statusCheckIntervalDesc": "Fréquence de vérification (5 s - 1 h)", - "metricsEnabled": "Activer la surveillance des métriques", - "metricsEnabledDesc": "Collecter CPU, RAM, disque et autres statistiques système", - "metricsInterval": "Intervalle de collecte des métriques", - "metricsIntervalDesc": "Fréquence de collecte des statistiques (5 s - 1 h)", - "intervalSeconds": "secondes", - "intervalMinutes": "minutes", - "intervalValidation": "Les intervalles doivent être compris entre 5 secondes et 1 heure (3600 secondes)", - "monitoringDisabled": "La surveillance du serveur est désactivée pour cet hôte", - "enableMonitoring": "Activez la surveillance dans Gestionnaire d'hôtes → onglet Statistiques", - "monitoringDisabledBadge": "Surveillance désactivée", - "statusMonitoring": "État", - "metricsMonitoring": "Métriques", - "terminalCustomizationNotice": "Remarque : les personnalisations du terminal fonctionnent uniquement sur ordinateur (site web et application Electron). Les applications mobiles utilisent les paramètres par défaut du système.", - "noneAuthTitle": "Authentification clavier-interactif", - "noneAuthDescription": "Cette méthode utilisera l'authentification clavier-interactif lors de la connexion au serveur SSH.", - "noneAuthDetails": "L'authentification clavier-interactif permet au serveur de vous demander des informations pendant la connexion. Utile pour le MFA ou si vous ne souhaitez pas stocker d'identifiants localement.", - "forceKeyboardInteractive": "Forcer le clavier-interactif", - "forceKeyboardInteractiveDesc": "Force l'utilisation de l'authentification clavier-interactif. Souvent nécessaire pour les serveurs avec 2FA (TOTP/2FA).", - "overrideCredentialUsername": "Remplacer le nom d'utilisateur des identifiants", - "overrideCredentialUsernameDesc": "Utilisez un nom d'utilisateur différent de celui stocké dans les identifiants. Cela vous permet d'utiliser les mêmes identifiants avec différents noms d'utilisateur.", - "jumpHosts": "Serveurs de rebond", - "jumpHostsDescription": "Les serveurs de rebond (également appelés bastions) vous permettent de vous connecter à un serveur cible via un ou plusieurs serveurs intermédiaires. Utile pour accéder à des serveurs derrière des pare-feu ou dans des réseaux privés.", - "jumpHostChain": "Chaîne de serveurs de rebond", - "addJumpHost": "Ajouter un serveur de rebond", - "selectServer": "Sélectionner un serveur", - "searchServers": "Rechercher des serveurs...", - "noServerFound": "Aucun serveur trouvé", - "jumpHostsOrder": "Les connexions seront établies dans l'ordre : Serveur de rebond 1 → Serveur de rebond 2 → ... → Serveur cible", - "advancedAuthSettings": "Paramètres d'authentification avancés", - "addQuickAction": "Ajouter une action rapide", - "adjustFontSize": "Ajuster la taille de la police du terminal", - "adjustLetterSpacing": "Ajuster l'espacement des lettres", - "adjustLineHeight": "Ajuster l'espacement des lignes", - "advanced": "Avancé", - "allHostsInFolderDeleted": "{{count}} hôtes supprimés du dossier \"{{folder}}\" avec succès", - "appearance": "Apparence", - "backspaceMode": "Mode retour arrière (Backspace)", - "backspaceModeControlH": "Control-H (^H)", - "backspaceModeDesc": "Comportement de la touche retour arrière pour la compatibilité", - "backspaceModeNormal": "Normal (DEL)", - "behavior": "Comportement", - "bellStyle": "Style de la cloche (Bell)", - "bellStyleBoth": "Les deux", - "bellStyleDesc": "Comment gérer la cloche du terminal (caractère BEL, \\x07). Les programmes déclenchent ceci lors de la fin de tâches, d'erreurs ou pour les notifications. \"Son\" joue un bip audio, \"Visuel\" fait clignoter l'écran brièvement, \"Les deux\" fait les deux, \"Aucun\" désactive les alertes.", - "bellStyleNone": "Aucun", - "bellStyleSound": "Son", - "bellStyleVisual": "Visuel", - "chooseColorTheme": "Choisir un thème de couleur pour le terminal", - "chooseCursorAppearance": "Choisir l'apparence du curseur", - "confirmDeleteAllHostsInFolder": "Êtes-vous sûr de vouloir supprimer les {{count}} hôtes du dossier \"{{folder}}\" ? Cette action ne peut pas être annulée.", - "cursorBlink": "Clignotement du curseur", - "cursorStyle": "Style du curseur", - "cursorStyleBar": "Barre", - "cursorStyleBlock": "Bloc", - "cursorStyleUnderline": "Souligné", - "deleteAllHostsInFolder": "Supprimer tous les hôtes du dossier", - "editFolderAppearance": "Modifier l'apparence du dossier", - "editFolderAppearanceDesc": "Personnalisez la couleur et l'icône du dossier", - "enableCursorBlink": "Activer l'animation de clignotement du curseur", - "failedToDeleteHostsInFolder": "Impossible de supprimer les hôtes du dossier", - "failedToUpdateFolderAppearance": "Impossible de mettre à jour l'apparence du dossier", - "fastScrollModifier": "Touche de défilement rapide", - "fastScrollModifierDesc": "Touche modificatrice pour le défilement rapide", - "fastScrollSensitivity": "Sensibilité du défilement rapide", - "fastScrollSensitivityDesc": "Multiplicateur de vitesse de défilement lorsque la touche est maintenue", - "fastScrollSensitivityValue": "Sensibilité du défilement rapide : {{value}}", - "folderAppearanceUpdated": "Apparence du dossier mise à jour avec succès", - "folderColor": "Couleur du dossier", - "folderIcon": "Icône du dossier", - "fontFamily": "Famille de police", - "fontSize": "Taille de police", - "fontSizeValue": "Taille de police : {{value}}px", - "letterSpacing": "Espacement des lettres", - "letterSpacingValue": "Espacement des lettres : {{value}}px", - "lineHeight": "Hauteur de ligne", - "lineHeightValue": "Hauteur de ligne : {{value}}", - "minimumContrastRatio": "Ratio de contraste minimum", - "minimumContrastRatioDesc": "Ajuster automatiquement les couleurs pour une meilleure lisibilité", - "minimumContrastRatioValue": "Ratio de contraste minimum : {{value}}", - "modifierAlt": "Alt", - "modifierCtrl": "Ctrl", - "modifierShift": "Shift", - "noSnippetFound": "Aucun extrait trouvé", - "preview": "Aperçu", - "quickActionName": "Nom de l'action", - "quickActions": "Actions rapides", - "quickActionsDescription": "Les actions rapides vous permettent de créer des boutons personnalisés qui exécutent des extraits SSH sur ce serveur. Ces boutons apparaîtront en haut de la page Statistiques Serveur pour un accès rapide.", - "quickActionsList": "Liste des actions rapides", - "quickActionsOrder": "Les boutons d'action rapide apparaîtront dans l'ordre indiqué ci-dessus sur la page Statistiques Serveur", - "rightClickSelectsWord": "Clic droit sélectionne le mot", - "rightClickSelectsWordDesc": "Le clic droit sélectionne le mot sous le curseur", - "scrollbackBuffer": "Tampon de défilement", - "scrollbackBufferDesc": "Nombre de lignes à conserver dans l'historique de défilement", - "scrollbackBufferValue": "Tampon de défilement : {{value}} lignes", - "searchSnippets": "Rechercher des extraits...", - "selectBackspaceMode": "Sélectionner le mode retour arrière", - "selectBellStyle": "Sélectionner le style de cloche", - "selectCursorStyle": "Sélectionner le style de curseur", - "selectFont": "Sélectionner la police", - "selectFontDesc": "Sélectionner la police à utiliser dans le terminal", - "selectModifier": "Sélectionner la touche modificatrice", - "selectSnippet": "Sélectionner un extrait", - "selectTheme": "Sélectionner un thème", - "snippetNone": "Aucun", - "sshAgentForwarding": "Transfert d'agent SSH", - "sshAgentForwardingDesc": "Transférer l'agent d'authentification SSH à l'hôte distant", - "startupSnippet": "Extrait au démarrage", - "terminalCustomization": "Personnalisation du terminal", - "theme": "Thème", - "themePreview": "Aperçu du thème" - }, - "terminal": { - "title": "Terminal", - "connect": "Se connecter à l'hôte", - "disconnect": "Déconnecter", - "clear": "Effacer", - "copy": "Copier", - "paste": "Coller", - "find": "Rechercher", - "fullscreen": "Plein écran", - "splitHorizontal": "Diviser horizontalement", - "splitVertical": "Diviser verticalement", - "closePanel": "Fermer le panneau", - "reconnect": "Reconnecter", - "sessionEnded": "Session terminée", - "connectionLost": "Connexion perdue", - "error": "ERREUR : {{message}}", - "disconnected": "Déconnecté", - "connectionClosed": "Connexion fermée", - "connectionError": "Erreur de connexion : {{message}}", - "connected": "Connecté", - "sshConnected": "Connexion SSH établie", - "authError": "Échec d'authentification : {{message}}", - "unknownError": "Une erreur inconnue est survenue", - "messageParseError": "Échec de l'analyse du message serveur", - "websocketError": "Erreur de connexion WebSocket", - "connecting": "Connexion...", - "reconnecting": "Reconnexion... ({{attempt}}/{{max}})", - "reconnected": "Reconnecté avec succès", - "maxReconnectAttemptsReached": "Nombre maximal de tentatives de reconnexion atteint", - "connectionTimeout": "Temps de connexion dépassé", - "terminalTitle": "Terminal - {{host}}", - "terminalWithPath": "Terminal - {{host}}:{{path}}", - "runTitle": "Exécution de {{command}} - {{host}}", - "totpRequired": "Authentification à deux facteurs requise", - "totpCodeLabel": "Code de vérification", - "totpPlaceholder": "000000", - "totpVerify": "Vérifier", - "sudoPasswordPopupTitle": "Insérer le mot de passe ?", - "sudoPasswordPopupHint": "Appuyez sur Entrée pour insérer, Échap pour annuler", - "sudoPasswordPopupConfirm": "Insérer", - "sudoPasswordPopupDismiss": "Annuler" - }, - "fileManager": { - "title": "Gestionnaire de fichiers", - "file": "Fichier", - "folder": "Dossier", - "connectToSsh": "Connectez-vous en SSH pour utiliser les opérations sur les fichiers", - "uploadFile": "Importer un fichier", - "downloadFile": "Télécharger", - "edit": "Modifier", - "preview": "Aperçu", - "previous": "Précédent", - "next": "Suivant", - "pageXOfY": "Page {{current}} sur {{total}}", - "zoomOut": "Zoom arrière", - "zoomIn": "Zoom avant", - "newFile": "Nouveau fichier", - "newFolder": "Nouveau dossier", - "rename": "Renommer", - "renameItem": "Renommer l'élément", - "deleteItem": "Supprimer l'élément", - "currentPath": "Chemin actuel", - "uploadFileTitle": "Importer un fichier", - "maxFileSize": "Max : 1 Go (JSON) / 5 Go (binaire) - gros fichiers pris en charge", - "removeFile": "Retirer le fichier", - "clickToSelectFile": "Cliquez pour sélectionner un fichier", - "chooseFile": "Choisir un fichier", - "uploading": "Téléversement...", - "downloading": "Téléchargement...", - "uploadingFile": "Téléversement de {{name}}...", - "uploadingLargeFile": "Téléversement du gros fichier {{name}} ({{size}})...", - "downloadingFile": "Téléchargement de {{name}}...", - "creatingFile": "Création de {{name}}...", - "creatingFolder": "Création de {{name}}...", - "deletingItem": "Suppression de {{type}} {{name}}...", - "renamingItem": "Renommage de {{type}} {{oldName}} en {{newName}}...", - "createNewFile": "Créer un nouveau fichier", - "fileName": "Nom du fichier", - "creating": "Création...", - "createFile": "Créer le fichier", - "createNewFolder": "Créer un nouveau dossier", - "folderName": "Nom du dossier", - "createFolder": "Créer le dossier", - "warningCannotUndo": "Attention : cette action est irréversible", - "itemPath": "Chemin de l'élément", - "thisIsDirectory": "Ceci est un dossier (sera supprimé récursivement)", - "deleting": "Suppression...", - "currentPathLabel": "Chemin actuel", - "newName": "Nouveau nom", - "thisIsDirectoryRename": "Ceci est un dossier", - "renaming": "Renommage...", - "fileUploadedSuccessfully": "Fichier \"{{name}}\" téléversé avec succès", - "failedToUploadFile": "Échec du téléversement", - "fileDownloadedSuccessfully": "Fichier téléchargé avec succès", - "failedToDownloadFile": "Échec du téléchargement", - "noFileContent": "Aucun contenu de fichier reçu", - "filePath": "Chemin du fichier", - "fileCreatedSuccessfully": "Fichier \"{{name}}\" créé avec succès", - "failedToCreateFile": "Échec de la création du fichier", - "folderCreatedSuccessfully": "Dossier \"{{name}}\" créé avec succès", - "failedToCreateFolder": "Échec de la création du dossier", - "failedToCreateItem": "Échec de la création de l'élément", - "operationFailed": "L'opération {{operation}} a échoué pour {{name}} : {{error}}", - "failedToResolveSymlink": "Échec de la résolution du lien symbolique", - "itemDeletedSuccessfully": "{{type}} supprimé avec succès", - "itemsDeletedSuccessfully": "{{count}} éléments supprimés avec succès", - "failedToDeleteItems": "Échec de la suppression des éléments", - "dragFilesToUpload": "Déposez des fichiers ici pour les importer", - "emptyFolder": "Ce dossier est vide", - "itemCount": "{{count}} éléments", - "selectedCount": "{{count}} sélectionné(s)", - "searchFiles": "Rechercher des fichiers...", - "upload": "Importer", - "selectHostToStart": "Sélectionnez un hôte pour démarrer la gestion des fichiers", - "failedToConnect": "Échec de la connexion SSH", - "failedToLoadDirectory": "Échec du chargement du répertoire", - "noSSHConnection": "Aucune connexion SSH disponible", - "enterFolderName": "Entrez le nom du dossier :", - "enterFileName": "Entrez le nom du fichier :", - "copy": "Copier", - "cut": "Couper", - "paste": "Coller", - "copyPath": "Copier le chemin", - "copyPaths": "Copier les chemins", - "delete": "Supprimer", - "properties": "Propriétés", - "refresh": "Actualiser", - "downloadFiles": "Télécharger {{count}} fichiers dans le navigateur", - "copyFiles": "Copier {{count}} éléments", - "cutFiles": "Couper {{count}} éléments", - "deleteFiles": "Supprimer {{count}} éléments", - "filesCopiedToClipboard": "{{count}} éléments copiés dans le presse-papiers", - "filesCutToClipboard": "{{count}} éléments coupés dans le presse-papiers", - "pathCopiedToClipboard": "Chemin copié dans le presse-papiers", - "pathsCopiedToClipboard": "{{count}} chemins copiés dans le presse-papiers", - "failedToCopyPath": "Échec de la copie du chemin dans le presse-papiers", - "movedItems": "{{count}} éléments déplacés", - "failedToDeleteItem": "Échec de la suppression de l'élément", - "itemRenamedSuccessfully": "{{type}} renommé avec succès", - "failedToRenameItem": "Échec du renommage de l'élément", - "download": "Télécharger", - "permissions": "Autorisations", - "size": "Taille", - "modified": "Modifié", - "path": "Chemin", - "confirmDelete": "Voulez-vous vraiment supprimer {{name}} ?", - "uploadSuccess": "Fichier téléversé avec succès", - "uploadFailed": "Échec du téléversement", - "downloadSuccess": "Fichier téléchargé avec succès", - "downloadFailed": "Échec du téléchargement", - "permissionDenied": "Permission refusée", - "checkDockerLogs": "Consultez les logs Docker pour plus de détails", - "internalServerError": "Une erreur interne du serveur est survenue", - "serverError": "Erreur serveur", - "error": "Erreur", - "requestFailed": "Requête échouée avec le code", - "unknownFileError": "Erreur de fichier inconnue", - "cannotReadFile": "Impossible de lire le fichier", - "noSshSessionId": "Aucun ID de session SSH", - "noFilePath": "Aucun chemin de fichier spécifié", - "noCurrentHost": "Aucun hôte sélectionné", - "fileSavedSuccessfully": "Fichier enregistré avec succès", - "saveTimeout": "Expiration du délai d'enregistrement", - "failedToSaveFile": "Échec de l'enregistrement du fichier", - "deletedSuccessfully": "Supprimé avec succès", - "connectToServer": "Se connecter au serveur", - "selectServerToEdit": "Sélectionnez un serveur pour éditer", - "fileOperations": "Opérations sur les fichiers", - "confirmDeleteMessage": "Voulez-vous vraiment supprimer ces éléments ?", - "confirmDeleteSingleItem": "Supprimer {{name}} ?", - "confirmDeleteMultipleItems": "Supprimer {{count}} éléments ?", - "confirmDeleteMultipleItemsWithFolders": "Supprimer {{files}} fichiers et {{folders}} dossiers ?", - "confirmDeleteFolder": "Supprimer le dossier {{name}} ?", - "deleteDirectoryWarning": "Le dossier et son contenu seront supprimés définitivement.", - "actionCannotBeUndone": "Cette action est irréversible.", - "permanentDeleteWarning": "La suppression est permanente et ne peut pas être annulée.", - "recent": "Récents", - "pinned": "Épinglés", - "folderShortcuts": "Raccourcis de dossiers", - "noRecentFiles": "Aucun fichier récent.", - "noPinnedFiles": "Aucun fichier épinglé.", - "enterFolderPath": "Saisissez le chemin du dossier", - "noShortcuts": "Aucun raccourci.", - "searchFilesAndFolders": "Rechercher des fichiers et dossiers...", - "noFilesOrFoldersFound": "Aucun fichier ou dossier trouvé.", - "failedToConnectSSH": "Échec de la connexion SSH", - "failedToReconnectSSH": "Échec de la reconnexion SSH", - "failedToListFiles": "Échec de l'affichage des fichiers", - "fetchHomeDataTimeout": "Expiration du délai de récupération des données d'accueil", - "sshStatusCheckTimeout": "Expiration du délai de vérification du statut SSH", - "sshReconnectionTimeout": "Expiration du délai de reconnexion SSH", - "saveOperationTimeout": "Expiration du délai d'enregistrement", - "cannotSaveFile": "Impossible d'enregistrer le fichier", - "dragSystemFilesToUpload": "Faites glisser des fichiers système ici pour les importer", - "dragFilesToWindowToDownload": "Faites glisser les fichiers hors de la fenêtre pour les télécharger", - "openTerminalHere": "Ouvrir un terminal ici", - "run": "Exécuter", - "saveToSystem": "Enregistrer sous...", - "selectLocationToSave": "Sélectionnez un emplacement pour enregistrer", - "openTerminalInFolder": "Ouvrir un terminal dans ce dossier", - "openTerminalInFileLocation": "Ouvrir un terminal à l'emplacement du fichier", - "terminalWithPath": "Terminal - {{host}} : {{path}}", - "runningFile": "Exécution - {{file}}", - "onlyRunExecutableFiles": "Seuls les fichiers exécutables peuvent être lancés", - "noHostSelected": "Aucun hôte sélectionné", - "starred": "Favoris", - "shortcuts": "Raccourcis", - "directories": "Répertoires", - "removedFromRecentFiles": "\"{{name}}\" retiré des fichiers récents", - "removeFailed": "Échec de la suppression", - "unpinnedSuccessfully": "\"{{name}}\" a été désépinglé", - "unpinFailed": "Échec du désépinglage", - "removedShortcut": "Raccourci \"{{name}}\" supprimé", - "removeShortcutFailed": "Échec de la suppression du raccourci", - "clearedAllRecentFiles": "Fichiers récents effacés", - "clearFailed": "Échec du nettoyage", - "removeFromRecentFiles": "Retirer des fichiers récents", - "clearAllRecentFiles": "Effacer tous les fichiers récents", - "unpinFile": "Désépingler le fichier", - "removeShortcut": "Supprimer le raccourci", - "saveFilesToSystem": "Enregistrer {{count}} fichiers sous...", - "pinFile": "Épingler le fichier", - "addToShortcuts": "Ajouter aux raccourcis", - "downloadToDefaultLocation": "Télécharger vers l'emplacement par défaut", - "pasteFailed": "Échec du collage", - "noUndoableActions": "Aucune action à annuler", - "undoCopySuccess": "Copie annulée : {{count}} fichiers copiés supprimés", - "undoCopyFailedDelete": "Annulation impossible : suppression des fichiers copiés échouée", - "undoCopyFailedNoInfo": "Annulation impossible : informations sur les fichiers copiés introuvables", - "undoMoveSuccess": "Déplacement annulé : {{count}} fichiers remis à leur emplacement d'origine", - "undoMoveFailedMove": "Annulation impossible : impossible de remettre les fichiers", - "undoMoveFailedNoInfo": "Annulation impossible : informations sur les fichiers déplacés introuvables", - "undoDeleteNotSupported": "Suppression non annulable : les fichiers ont été supprimés définitivement du serveur", - "undoTypeNotSupported": "Type d'annulation non pris en charge", - "undoOperationFailed": "Échec de l'opération d'annulation", - "unknownError": "Erreur inconnue", - "enterPath": "Entrer un chemin...", - "editPath": "Modifier le chemin", - "confirm": "Confirmer", - "cancel": "Annuler", - "find": "Rechercher...", - "replaceWith": "Remplacer par...", - "replace": "Remplacer", - "replaceAll": "Remplacer tout", - "downloadInstead": "Télécharger à la place", - "keyboardShortcuts": "Raccourcis clavier", - "searchAndReplace": "Rechercher et remplacer", - "editing": "Édition", - "navigation": "Parcours", - "code": "Code source", - "search": "Recherche", - "findNext": "Rechercher suivant", - "findPrevious": "Rechercher précédent", - "save": "Enregistrer", - "selectAll": "Tout sélectionner", - "undo": "Annuler", - "redo": "Rétablir", - "goToLine": "Aller à la ligne", - "moveLineUp": "Monter la ligne", - "moveLineDown": "Descendre la ligne", - "toggleComment": "Basculer le commentaire", - "indent": "Augmenter l'indentation", - "outdent": "Diminuer l'indentation", - "autoComplete": "Auto-complétion", - "imageLoadError": "Échec du chargement de l'image", - "rotate": "Faire pivoter", - "originalSize": "Taille d'origine", - "startTyping": "Commencez à taper...", - "unknownSize": "Taille inconnue", - "fileIsEmpty": "Le fichier est vide", - "largeFileWarning": "Avertissement fichier volumineux", - "largeFileWarningDesc": "Ce fichier pèse {{size}}, ce qui peut provoquer des problèmes de performance lorsqu'il est ouvert en texte.", - "fileNotFoundAndRemoved": "Le fichier \"{{name}}\" est introuvable et a été retiré des fichiers récents/épinglés", - "failedToLoadFile": "Échec du chargement du fichier : {{error}}", - "serverErrorOccurred": "Une erreur serveur est survenue. Veuillez réessayer plus tard.", - "autoSaveFailed": "Échec de l'enregistrement automatique", - "fileAutoSaved": "Fichier enregistré automatiquement", - "moveFileFailed": "Échec du déplacement de {{name}}", - "moveOperationFailed": "Échec de l'opération de déplacement", - "canOnlyCompareFiles": "Seuls deux fichiers peuvent être comparés", - "comparingFiles": "Comparaison de {{file1}} et {{file2}}", - "dragFailed": "Échec du glisser-déposer", - "filePinnedSuccessfully": "Fichier \"{{name}}\" épinglé avec succès", - "pinFileFailed": "Échec de l'épinglage du fichier", - "fileUnpinnedSuccessfully": "Fichier \"{{name}}\" désépinglé avec succès", - "unpinFileFailed": "Échec du désépinglage du fichier", - "shortcutAddedSuccessfully": "Raccourci de dossier \"{{name}}\" ajouté avec succès", - "addShortcutFailed": "Échec de l'ajout du raccourci", - "operationCompletedSuccessfully": "{{operation}} {{count}} éléments avec succès", - "operationCompleted": "{{operation}} {{count}} éléments", - "downloadFileSuccess": "Fichier {{name}} téléchargé avec succès", - "downloadFileFailed": "Échec du téléchargement", - "moveTo": "Déplacer vers {{name}}", - "diffCompareWith": "Comparer (diff) avec {{name}}", - "dragOutsideToDownload": "Faites glisser hors de la fenêtre pour télécharger ({{count}} fichiers)", - "newFolderDefault": "NouveauDossier", - "newFileDefault": "NouveauFichier.txt", - "successfullyMovedItems": "{{count}} éléments déplacés vers {{target}}", - "move": "Déplacer", - "searchInFile": "Rechercher dans le fichier (Ctrl+F)", - "showKeyboardShortcuts": "Afficher les raccourcis clavier", - "startWritingMarkdown": "Commencez à écrire votre contenu markdown...", - "loadingFileComparison": "Chargement de la comparaison de fichiers...", - "reload": "Recharger", - "compare": "Comparer", - "sideBySide": "Côte à côte", - "inline": "En ligne", - "fileComparison": "Comparaison de fichiers : {{file1}} vs {{file2}}", - "fileTooLarge": "Fichier trop volumineux : {{error}}", - "sshConnectionFailed": "La connexion SSH a échoué. Vérifiez votre connexion à {{name}} ({{ip}}:{{port}})", - "loadFileFailed": "Échec du chargement du fichier : {{error}}", - "connectedSuccessfully": "Connexion réussie", - "totpVerificationFailed": "Échec de la vérification TOTP", - "andMoreFiles": "et {{count}} plus...", - "archiveExtractedSuccessfully": "{{name}} extrait avec succès", - "archiveName": "Nom de l'archive", - "changePermissions": "Modifier les permissions", - "changePermissionsDesc": "Modifier les permissions du fichier pour", - "compress": "Compresser", - "compressFailed": "Échec de la compression", - "compressFile": "Compresser le fichier", - "compressFiles": "Compresser les fichiers", - "compressFilesDesc": "Compresser {{count}} éléments dans une archive", - "compressingFiles": "Compression de {{count}} éléments dans {{name}}...", - "compressionFormat": "Format de compression", - "currentPermissions": "Permissions actuelles", - "enterArchiveName": "Entrer le nom de l'archive...", - "execute": "Exécuter", - "extractArchive": "Extraire l'archive", - "extractFailed": "Échec de l'extraction", - "extractingArchive": "Extraction de {{name}}...", - "failedToChangePermissions": "Impossible de modifier les permissions", - "filesCompressedSuccessfully": "{{name}} créé avec succès", - "group": "Groupe", - "newPermissions": "Nouvelles permissions", - "others": "Autres", - "owner": "Propriétaire", - "permissionsChangedSuccessfully": "Permissions modifiées avec succès", - "read": "Lecture", - "selectedFiles": "Fichiers sélectionnés", - "write": "Écriture" - }, - "tunnels": { - "title": "Tunnels SSH", - "noSshTunnels": "Aucun tunnel SSH", - "createFirstTunnelMessage": "Créez votre premier tunnel SSH pour commencer. Utilisez le Gestionnaire SSH pour ajouter des hôtes avec des connexions de tunnel.", - "connected": "Connecté", - "disconnected": "Déconnecté", - "connecting": "Connexion...", - "disconnecting": "Déconnexion...", - "unknownTunnelStatus": "Inconnu", - "unknown": "Inconnu", - "error": "Erreur", - "failed": "Échec", - "retrying": "Nouvelle tentative", - "waiting": "En attente", - "waitingForRetry": "En attente d'une nouvelle tentative", - "retryingConnection": "Nouvelle tentative de connexion", - "canceling": "Annulation...", - "connect": "Connecter", - "disconnect": "Déconnecter", - "cancel": "Annuler", - "port": "Port", - "attempt": "Tentative {{current}} sur {{max}}", - "nextRetryIn": "Prochaine tentative dans {{seconds}} secondes", - "checkDockerLogs": "Consultez vos logs Docker pour connaître la cause, rejoignez le", - "noTunnelConnections": "Aucune connexion de tunnel configurée", - "tunnelConnections": "Connexions de tunnel", - "addTunnel": "Ajouter un tunnel", - "editTunnel": "Modifier le tunnel", - "deleteTunnel": "Supprimer le tunnel", - "tunnelName": "Nom du tunnel", - "localPort": "Port local", - "remoteHost": "Hôte distant", - "remotePort": "Port distant", - "autoStart": "Démarrage auto", - "status": "Statut", - "active": "Actif", - "inactive": "Inactif", - "start": "Démarrer", - "stop": "Arrêter", - "restart": "Redémarrer", - "connectionType": "Type de connexion", - "local": "Local", - "remote": "Distant", - "dynamic": "Dynamique", - "unknownConnectionStatus": "Statut inconnu", - "portMapping": "Port {{sourcePort}} → {{endpointHost}}:{{endpointPort}}", - "endpointHostNotFound": "Hôte de destination introuvable", - "discord": "Discord", - "githubIssue": "ticket GitHub", - "forHelp": "pour obtenir de l'aide" - }, - "serverStats": { - "title": "Statistiques serveur", - "cpu": "CPU", - "memory": "Mémoire", - "disk": "Disque", - "network": "Réseau", - "uptime": "Durée de fonctionnement", - "loadAverage": "Moy. : {{avg1}}, {{avg5}}, {{avg15}}", - "processes": "Processus", - "connections": "Connexions", - "usage": "Utilisation", - "available": "Disponible", - "total": "Total", - "free": "Libre", - "used": "Utilisé", - "percentage": "Pourcentage", - "refreshStatusAndMetrics": "Actualiser le statut et les métriques", - "refreshStatus": "Actualiser le statut", - "fileManagerAlreadyOpen": "Gestionnaire de fichiers déjà ouvert pour cet hôte", - "openFileManager": "Ouvrir le gestionnaire de fichiers", - "cpuCores_one": "{{count}} CPU", - "cpuCores_other": "{{count}} CPU", - "naCpus": "N/A CPU", - "loadAverageNA": "Moy. : N/A", - "cpuUsage": "Utilisation CPU", - "memoryUsage": "Utilisation mémoire", - "diskUsage": "Utilisation disque", - "rootStorageSpace": "Espace de stockage racine", - "of": "sur", - "feedbackMessage": "Besoin d'aide ? Laissez un commentaire sur", - "failedToFetchHostConfig": "Échec de la récupération de la configuration de l'hôte", - "failedToFetchStatus": "Échec de la récupération du statut", - "failedToFetchMetrics": "Échec de la récupération des métriques", - "failedToFetchHomeData": "Échec de la récupération des données d'accueil", - "loadingMetrics": "Chargement des métriques...", - "refreshing": "Actualisation...", - "serverOffline": "Serveur hors ligne", - "cannotFetchMetrics": "Impossible de récupérer les métriques", - "totpRequired": "Code TOTP requis", - "totpUnavailable": "TOTP indisponible", - "load": "Charge", - "editLayout": "Modifier la disposition", - "cancelEdit": "Annuler la modification", - "addWidget": "Ajouter un widget", - "saveLayout": "Enregistrer la disposition", - "unsavedChanges": "Modifications non enregistrées", - "layoutSaved": "Disposition enregistrée", - "failedToSaveLayout": "Échec de l'enregistrement de la disposition", - "systemInfo": "Infos système", - "hostname": "Nom d'hôte", - "operatingSystem": "Système d'exploitation", - "kernel": "Noyau", - "totalUptime": "Temps de fonctionnement total", - "seconds": "secondes", - "networkInterfaces": "Interfaces réseau", - "noInterfacesFound": "Aucune interface trouvée", - "totalProcesses": "Processus totaux", - "running": "En cours d'exécution", - "noProcessesFound": "Aucun processus trouvé", - "executeQuickAction": "Exécuter {{name}}", - "executingQuickAction": "Exécution de {{name}}...", - "from": "de", - "loginStats": "Statistiques de connexion SSH", - "noRecentLoginData": "Aucune donnée de connexion récente", - "quickActionError": "Impossible d'exécuter {{name}}", - "quickActionFailed": "{{name}} a échoué", - "quickActionSuccess": "{{name}} terminé avec succès", - "quickActions": "Actions rapides", - "recentFailedAttempts": "Tentatives échouées récentes", - "recentSuccessfulLogins": "Connexions réussies récentes", - "totalLogins": "Total des connexions", - "uniqueIPs": "IP uniques" - }, - "auth": { - "loginTitle": "Connexion à Termix", - "registerTitle": "Créer un compte", - "loginButton": "Connexion", - "registerButton": "Inscription", - "forgotPassword": "Mot de passe oublié ?", - "rememberMe": "Se souvenir de moi", - "noAccount": "Pas encore de compte ?", - "hasAccount": "Vous avez déjà un compte ?", - "loginSuccess": "Connexion réussie", - "loginFailed": "Échec de la connexion", - "registerSuccess": "Inscription réussie", - "registerFailed": "Échec de l'inscription", - "logoutSuccess": "Déconnexion réussie", - "invalidCredentials": "Nom d'utilisateur ou mot de passe invalide", - "accountCreated": "Compte créé avec succès", - "passwordReset": "Lien de réinitialisation envoyé", - "twoFactorAuth": "Authentification à deux facteurs", - "enterCode": "Saisissez le code de vérification", - "backupCode": "Ou utilisez un code de secours", - "verifyCode": "Vérifier le code", - "redirectingToApp": "Redirection vers l'application...", - "enableTwoFactor": "Activer l'authentification à deux facteurs", - "disableTwoFactor": "Désactiver l'authentification à deux facteurs", - "scanQRCode": "Scannez ce QR code avec votre application d'authentification", - "backupCodes": "Codes de secours", - "saveBackupCodes": "Enregistrez ces codes de secours en lieu sûr", - "twoFactorEnabledSuccess": "Authentification à deux facteurs activée avec succès !", - "twoFactorDisabled": "Authentification à deux facteurs désactivée", - "newBackupCodesGenerated": "Nouveaux codes de secours générés", - "backupCodesDownloaded": "Codes de secours téléchargés", - "pleaseEnterSixDigitCode": "Veuillez saisir un code à 6 chiffres", - "invalidVerificationCode": "Code de vérification invalide", - "failedToDisableTotp": "Échec de la désactivation de TOTP", - "failedToGenerateBackupCodes": "Échec de la génération des codes de secours", - "enterPassword": "Saisissez votre mot de passe", - "lockedOidcAuth": "Verrouillé (authentification OIDC)", - "twoFactorTitle": "Authentification à deux facteurs", - "twoFactorProtected": "Votre compte est protégé par l'authentification à deux facteurs", - "twoFactorActive": "L'authentification à deux facteurs est active sur votre compte", - "disable2FA": "Désactiver la 2FA", - "disableTwoFactorWarning": "Désactiver la 2FA rendra votre compte moins sécurisé", - "passwordOrTotpCode": "Mot de passe ou code TOTP", - "or": "Ou", - "generateNewBackupCodesText": "Générez de nouveaux codes de secours si vous avez perdu les précédents", - "generateNewBackupCodes": "Générer de nouveaux codes de secours", - "yourBackupCodes": "Vos codes de secours", - "download": "Télécharger", - "setupTwoFactorTitle": "Configurer l'authentification à deux facteurs", - "sshAuthenticationRequired": "Authentification SSH requise", - "sshNoKeyboardInteractive": "Authentification clavier-interactif indisponible", - "sshAuthenticationFailed": "Échec de l'authentification", - "sshAuthenticationTimeout": "Délai d'authentification dépassé", - "sshNoKeyboardInteractiveDescription": "Le serveur ne prend pas en charge l'authentification clavier-interactif. Veuillez fournir votre mot de passe ou votre clé SSH.", - "sshAuthFailedDescription": "Les identifiants fournis sont incorrects. Veuillez réessayer avec des identifiants valides.", - "sshTimeoutDescription": "La tentative d'authentification a expiré. Veuillez réessayer.", - "sshProvideCredentialsDescription": "Fournissez vos identifiants SSH pour vous connecter à ce serveur.", - "sshPasswordDescription": "Entrez le mot de passe pour cette connexion SSH.", - "sshKeyPasswordDescription": "Si votre clé SSH est chiffrée, entrez la phrase secrète ici.", - "step1ScanQR": "Étape 1 : Scannez le QR code avec votre application d'authentification", - "manualEntryCode": "Code à saisir manuellement", - "cannotScanQRText": "Si vous ne pouvez pas scanner le QR code, saisissez ce code manuellement dans votre application.", - "nextVerifyCode": "Étape suivante : vérifier le code", - "verifyAuthenticator": "Vérifiez votre application", - "step2EnterCode": "Étape 2 : Entrez le code à 6 chiffres de l'application", - "verificationCode": "Code de vérification", - "back": "Retour", - "verifyAndEnable": "Vérifier et activer", - "saveBackupCodesTitle": "Sauvegardez vos codes de secours", - "step3StoreCodesSecurely": "Étape 3 : Conservez ces codes en lieu sûr", - "importantBackupCodesText": "Conservez ces codes en lieu sûr. Ils permettent d'accéder à votre compte si vous perdez votre appareil.", - "completeSetup": "Terminer la configuration", - "notEnabledText": "La 2FA ajoute une couche de sécurité supplémentaire en demandant un code lors de la connexion.", - "enableTwoFactorButton": "Activer l'authentification à deux facteurs", - "addExtraSecurityLayer": "Ajoutez une couche de sécurité à votre compte", - "firstUser": "Premier utilisateur", - "firstUserMessage": "Vous êtes le premier utilisateur et serez défini comme administrateur. Vous pouvez consulter les paramètres d'administration dans le menu utilisateur de la barre latérale. Si c'est une erreur, vérifiez les logs Docker ou créez un ticket GitHub.", - "external": "Externe", - "loginWithExternal": "Se connecter via un fournisseur externe", - "loginWithExternalDesc": "Connectez-vous avec votre fournisseur d'identité externe configuré", - "externalNotSupportedInElectron": "L'authentification externe n'est pas encore disponible dans l'application Electron. Utilisez la version web pour OIDC.", - "resetPasswordButton": "Réinitialiser le mot de passe", - "sendResetCode": "Envoyer le code de réinitialisation", - "resetCodeDesc": "Saisissez votre nom d'utilisateur pour recevoir un code de réinitialisation. Le code sera visible dans les logs du conteneur Docker.", - "resetCode": "Code de réinitialisation", - "verifyCodeButton": "Vérifier le code", - "enterResetCode": "Entrez le code à 6 chiffres des logs Docker pour l'utilisateur :", - "goToLogin": "Aller à la connexion", - "newPassword": "Nouveau mot de passe", - "confirmNewPassword": "Confirmer le mot de passe", - "enterNewPassword": "Entrez votre nouveau mot de passe pour l'utilisateur :", - "signUp": "Créer un compte", - "mobileApp": "Application mobile", - "loggingInToMobileApp": "Connexion à l'application mobile", - "desktopApp": "Application de bureau", - "loggingInToDesktopApp": "Connexion à l'application de bureau", - "loggingInToDesktopAppViaWeb": "Connexion à l'application de bureau via l'interface web", - "loadingServer": "Chargement du serveur...", - "authenticating": "Authentification...", - "dataLossWarning": "Réinitialiser votre mot de passe de cette manière supprimera tous vos hôtes, identifiants et autres données chiffrées. Action irréversible. À utiliser uniquement si vous avez oublié votre mot de passe et n'êtes pas connecté.", - "authenticationDisabled": "Authentification désactivée", - "authenticationDisabledDesc": "Toutes les méthodes d'authentification sont actuellement désactivées. Contactez votre administrateur.", - "continueExternal": "Continuer avec un fournisseur externe", - "createAccount": "Créer votre compte TERMIX", - "description": "Gestion de connexions SSH sécurisée, puissante et intuitive", - "tagline": "GESTIONNAIRE DE SERVEURS SSH", - "welcomeBack": "Bon retour sur TERMIX", - "passwordResetSuccess": "Réinitialisation du mot de passe réussie", - "passwordResetSuccessDesc": "Votre mot de passe a été réinitialisé avec succès. Vous pouvez maintenant vous connecter avec votre nouveau mot de passe." - }, - "errors": { - "notFound": "Page introuvable", - "unauthorized": "Accès non autorisé", - "forbidden": "Accès interdit", - "serverError": "Erreur serveur", - "networkError": "Erreur réseau", - "databaseConnection": "Impossible de se connecter à la base de données", - "unknownError": "Erreur inconnue", - "loginFailed": "Échec de la connexion", - "failedPasswordReset": "Échec du lancement de la réinitialisation du mot de passe", - "failedVerifyCode": "Échec de la vérification du code de réinitialisation", - "failedCompleteReset": "Échec de la finalisation de la réinitialisation du mot de passe", - "invalidTotpCode": "Code TOTP invalide", - "failedOidcLogin": "Échec du démarrage de la connexion OIDC", - "failedUserInfo": "Échec de la récupération des informations utilisateur après connexion OIDC", - "oidcAuthFailed": "Échec de l'authentification OIDC", - "noTokenReceived": "Aucun jeton reçu après la connexion", - "invalidAuthUrl": "URL d'autorisation invalide reçue du backend", - "invalidInput": "Saisie invalide", - "requiredField": "Ce champ est obligatoire", - "minLength": "La longueur minimale est de {{min}}", - "maxLength": "La longueur maximale est de {{max}}", - "invalidEmail": "Adresse e-mail invalide", - "passwordMismatch": "Les mots de passe ne correspondent pas", - "passwordLoginDisabled": "La connexion par nom d'utilisateur/mot de passe est désactivée", - "weakPassword": "Mot de passe trop faible", - "usernameExists": "Ce nom d'utilisateur existe déjà", - "emailExists": "Cet e-mail existe déjà", - "loadFailed": "Échec du chargement des données", - "saveError": "Échec de l'enregistrement", - "sessionExpired": "Session expirée - veuillez vous reconnecter" - }, - "messages": { - "saveSuccess": "Enregistré avec succès", - "saveError": "Échec de l'enregistrement", - "deleteSuccess": "Supprimé avec succès", - "deleteError": "Échec de la suppression", - "updateSuccess": "Mis à jour avec succès", - "updateError": "Échec de la mise à jour", - "copySuccess": "Copié dans le presse-papiers", - "copyError": "Échec de la copie", - "copiedToClipboard": "{{item}} copié dans le presse-papiers", - "connectionEstablished": "Connexion établie", - "connectionClosed": "Connexion fermée", - "reconnecting": "Reconnexion...", - "processing": "Traitement...", - "pleaseWait": "Veuillez patienter...", - "registrationDisabled": "L'inscription de nouveaux comptes est actuellement désactivée par un administrateur. Connectez-vous ou contactez un administrateur.", - "databaseConnected": "Base de données connectée avec succès", - "databaseConnectionFailed": "Échec de la connexion au serveur de base de données", - "checkServerConnection": "Vérifiez votre connexion au serveur puis réessayez", - "resetCodeSent": "Code de réinitialisation envoyé dans les logs Docker", - "codeVerified": "Code vérifié avec succès", - "passwordResetSuccess": "Mot de passe réinitialisé avec succès", - "loginSuccess": "Connexion réussie", - "registrationSuccess": "Inscription réussie" - }, - "profile": { - "title": "Profil utilisateur", - "description": "Gérez les paramètres et la sécurité de votre compte", - "security": "Sécurité", - "changePassword": "Changer le mot de passe", - "twoFactorAuth": "Authentification à deux facteurs", - "accountInfo": "Informations du compte", - "role": "Rôle", - "admin": "Administrateur", - "user": "Utilisateur", - "authMethod": "Méthode d'authentification", - "local": "Local", - "external": "Externe (OIDC)", - "selectPreferredLanguage": "Choisissez votre langue préférée pour l'interface", - "fileColorCoding": "Codage couleur des fichiers", - "fileColorCodingDesc": "Codage couleur des fichiers par type : dossiers (rouge), fichiers (bleu), liens symboliques (vert)", - "commandAutocomplete": "Autocomplétion des commandes", - "commandAutocompleteDesc": "Activer les suggestions d'autocomplétion avec la touche Tab pour les commandes du terminal basées sur votre historique", - "defaultSnippetFoldersCollapsed": "Réduire les dossiers de snippets par défaut", - "defaultSnippetFoldersCollapsedDesc": "Lorsque cette option est activée, tous les dossiers de snippets seront réduits à l'ouverture de l'onglet snippets", - "currentPassword": "Mot de passe actuel", - "passwordChangedSuccess": "Mot de passe modifié avec succès ! Veuillez vous reconnecter.", - "failedToChangePassword": "Échec de la modification du mot de passe. Vérifiez votre mot de passe actuel et réessayez.", - "externalAndLocal": "Double Auth" - }, - "user": { - "failedToLoadVersionInfo": "Échec du chargement des informations de version" - }, - "placeholders": { - "enterCode": "000000", - "ipAddress": "127.0.0.1", - "port": "22", - "maxRetries": "3", - "retryInterval": "10", - "language": "Langue", - "username": "Nom d'utilisateur", - "hostname": "Nom d'hôte", - "folder": "Dossier", - "password": "Mot de passe", - "keyPassword": "Mot de passe de la clé", - "pastePrivateKey": "Collez votre clé privée ici...", - "pastePublicKey": "Collez votre clé publique ici...", - "credentialName": "Mon serveur SSH", - "description": "Description de l'identifiant SSH", - "searchCredentials": "Recherchez des identifiants par nom, utilisateur ou labels...", - "sshConfig": "configuration SSH de destination", - "homePath": "/home", - "clientId": "votre-client-id", - "clientSecret": "votre-client-secret", - "authUrl": "https://votre-fournisseur.com/application/o/authorize/", - "redirectUrl": "https://votre-fournisseur.com/application/o/termix/", - "tokenUrl": "https://votre-fournisseur.com/application/o/token/", - "userIdField": "sub", - "usernameField": "name", - "scopes": "openid email profile", - "userinfoUrl": "https://votre-fournisseur.com/application/o/userinfo/", - "enterUsername": "Saisissez le nom d'utilisateur à promouvoir administrateur", - "searchHosts": "Recherchez des hôtes par nom, utilisateur, IP, dossier, labels...", - "enterPassword": "Entrez votre mot de passe", - "totpCode": "Code TOTP à 6 chiffres", - "searchHostsAny": "Recherchez des hôtes avec n'importe quelle info...", - "confirmPassword": "Entrez votre mot de passe pour confirmer", - "typeHere": "Tapez ici", - "fileName": "Saisissez un nom de fichier (ex. : exemple.txt)", - "folderName": "Saisissez un nom de dossier", - "fullPath": "Saisissez le chemin complet de l'élément", - "currentPath": "Saisissez le chemin actuel de l'élément", - "newName": "Saisissez le nouveau nom" - }, - "leftSidebar": { - "failedToLoadHosts": "Échec du chargement des hôtes", - "noFolder": "Sans dossier", - "passwordRequired": "Mot de passe requis", - "failedToDeleteAccount": "Échec de la suppression du compte", - "failedToMakeUserAdmin": "Échec de la promotion de l'utilisateur en administrateur", - "userIsNowAdmin": "L'utilisateur {{username}} est maintenant administrateur", - "removeAdminConfirm": "Voulez-vous vraiment retirer le statut d'administrateur à {{username}} ?", - "deleteUserConfirm": "Voulez-vous vraiment supprimer l'utilisateur {{username}} ? Cette action est irréversible.", - "deleteAccount": "Supprimer le compte", - "closeDeleteAccount": "Fermer la suppression de compte", - "deleteAccountWarning": "Cette action est irréversible. Elle supprimera définitivement votre compte et toutes les données associées.", - "deleteAccountWarningDetails": "Supprimer votre compte supprimera toutes vos données, y compris les hôtes SSH, configurations et paramètres. Action irréversible.", - "deleteAccountWarningShort": "Cette action est irréversible et supprimera définitivement votre compte.", - "cannotDeleteAccount": "Impossible de supprimer le compte", - "lastAdminWarning": "Vous êtes le dernier administrateur. Vous ne pouvez pas supprimer votre compte car le système n'aurait plus d'administrateur. Nommez d'abord un autre utilisateur administrateur ou contactez le support.", - "confirmPassword": "Confirmer le mot de passe", - "deleting": "Suppression...", - "cancel": "Annuler" - }, - "interface": { - "sidebar": "Barre latérale", - "toggleSidebar": "Afficher/masquer la barre latérale", - "close": "Fermer", - "online": "En ligne", - "offline": "Hors ligne", - "maintenance": "Maintenance", - "degraded": "Dégradé", - "noTunnelConnections": "Aucune connexion de tunnel configurée", - "discord": "Discord", - "connectToSshForOperations": "Connectez-vous en SSH pour utiliser les opérations sur les fichiers", - "uploadFile": "Importer un fichier", - "newFile": "Nouveau fichier", - "newFolder": "Nouveau dossier", - "rename": "Renommer", - "deleteItem": "Supprimer l'élément", - "createNewFile": "Créer un nouveau fichier", - "createNewFolder": "Créer un nouveau dossier", - "renameItem": "Renommer l'élément", - "clickToSelectFile": "Cliquez pour sélectionner un fichier", - "noSshHosts": "Aucun hôte SSH", - "sshHosts": "Hôtes SSH", - "importSshHosts": "Importer des hôtes SSH depuis un JSON", - "clientId": "ID client", - "clientSecret": "Secret client", - "error": "Erreur", - "warning": "Avertissement", - "deleteAccount": "Supprimer le compte", - "closeDeleteAccount": "Fermer la suppression de compte", - "cannotDeleteAccount": "Impossible de supprimer le compte", - "confirmPassword": "Confirmer le mot de passe", - "deleting": "Suppression...", - "externalAuth": "Authentification externe (OIDC)", - "configureExternalProvider": "Configurer un fournisseur d'identité externe pour", - "waitingForRetry": "En attente d'une nouvelle tentative", - "retryingConnection": "Nouvelle tentative de connexion", - "resetSplitSizes": "Réinitialiser les tailles de panneaux", - "sshManagerAlreadyOpen": "Gestionnaire SSH déjà ouvert", - "disabledDuringSplitScreen": "Désactivé en mode écran scindé", - "unknown": "Inconnu", - "connected": "Connecté", - "disconnected": "Déconnecté", - "maxRetriesExhausted": "Nombre maximal de tentatives atteint", - "endpointHostNotFound": "Hôte de destination introuvable", - "administrator": "Administrateur", - "user": "Utilisateur", - "external": "Externe", - "local": "Local", - "saving": "Enregistrement...", - "saveConfiguration": "Enregistrer la configuration", - "loading": "Chargement...", - "refresh": "Actualiser", - "adding": "Ajout...", - "makeAdmin": "Nommer administrateur", - "verifying": "Vérification...", - "verifyAndEnable": "Vérifier et activer", - "secretKey": "Clé secrète", - "totpQrCode": "QR code TOTP", - "passwordRequired": "Le mot de passe est requis avec l'authentification par mot de passe", - "sshKeyRequired": "La clé privée SSH est requise avec l'authentification par clé", - "keyTypeRequired": "Le type de clé est requis avec l'authentification par clé", - "validSshConfigRequired": "Vous devez sélectionner une configuration SSH valide dans la liste", - "updateHost": "Mettre à jour l'hôte", - "addHost": "Ajouter un hôte", - "editHost": "Modifier l'hôte", - "pinConnection": "Épingler la connexion", - "authentication": "Authentification", - "password": "Mot de passe", - "key": "Clé", - "sshPrivateKey": "Clé privée SSH", - "keyPassword": "Mot de passe de la clé", - "keyType": "Type de clé", - "enableTerminal": "Activer le terminal", - "enableTunnel": "Activer le tunnel", - "enableFileManager": "Activer le gestionnaire de fichiers", - "defaultPath": "Chemin par défaut", - "tunnelConnections": "Connexions de tunnel", - "maxRetries": "Nombre max de tentatives", - "upload": "Importer", - "updateKey": "Mettre à jour la clé", - "productionFolder": "Production", - "databaseServer": "Serveur de base de données", - "developmentServer": "Serveur de développement", - "developmentFolder": "Développement", - "webServerProduction": "Serveur web - Production", - "unknownError": "Erreur inconnue", - "failedToInitiatePasswordReset": "Échec du lancement de la réinitialisation du mot de passe", - "failedToVerifyResetCode": "Échec de la vérification du code de réinitialisation", - "failedToCompletePasswordReset": "Échec de la finalisation de la réinitialisation du mot de passe", - "invalidTotpCode": "Code TOTP invalide", - "failedToStartOidcLogin": "Échec du démarrage de la connexion OIDC", - "failedToGetUserInfoAfterOidc": "Échec de la récupération des infos utilisateur après connexion OIDC", - "loginWithExternalProvider": "Se connecter via un fournisseur externe", - "loginWithExternal": "Se connecter via un fournisseur externe", - "sendResetCode": "Envoyer le code de réinitialisation", - "verifyCode": "Vérifier le code", - "resetPassword": "Réinitialiser le mot de passe", - "login": "Connexion", - "signUp": "Créer un compte", - "failedToUpdateOidcConfig": "Échec de la mise à jour de la configuration OIDC", - "failedToMakeUserAdmin": "Échec de la promotion de l'utilisateur en administrateur", - "failedToStartTotpSetup": "Échec du lancement de la configuration TOTP", - "invalidVerificationCode": "Code de vérification invalide", - "failedToDisableTotp": "Échec de la désactivation de TOTP", - "failedToGenerateBackupCodes": "Échec de la génération des codes de secours" - }, - "mobile": { - "selectHostToStart": "Sélectionnez un hôte pour démarrer votre session terminal", - "limitedSupportMessage": "La version mobile du site est encore en cours d'amélioration. Utilisez l'application mobile pour une meilleure expérience.", - "mobileAppInProgress": "Application mobile en cours de développement", - "mobileAppInProgressDesc": "Nous travaillons sur une application mobile dédiée pour offrir une meilleure expérience sur mobile.", - "viewMobileAppDocs": "Installer l'application mobile", - "mobileAppDocumentation": "Documentation de l'application mobile" - }, - "dashboard": { - "title": "Tableau de bord", - "github": "GitHub officiel", - "support": "Assistance", - "discord": "Communauté Discord", - "donate": "Faire un don", - "serverOverview": "Vue d'ensemble du serveur", - "version": "Version logicielle", - "upToDate": "À jour", - "updateAvailable": "Mise à jour disponible", - "uptime": "Durée de fonctionnement", - "database": "Base de données", - "healthy": "Opérationnel", - "error": "Erreur", - "totalServers": "Serveurs", - "totalTunnels": "Tunnels", - "totalCredentials": "Identifiants", - "recentActivity": "Activité récente", - "reset": "Réinitialiser", - "loadingRecentActivity": "Chargement de l'activité récente...", - "noRecentActivity": "Aucune activité récente", - "quickActions": "Actions rapides", - "addHost": "Ajouter un hôte", - "addCredential": "Ajouter un identifiant", - "adminSettings": "Paramètres d'administration", - "userProfile": "Profil utilisateur", - "serverStats": "Statistiques serveur", - "loadingServerStats": "Chargement des statistiques serveur...", - "noServerData": "Aucune donnée serveur disponible", - "cpu": "Processeur (CPU)", - "ram": "Mémoire (RAM)", - "notAvailable": "N/D" - }, - "commandPalette": { - "addCredential": "Ajouter Identifiant", - "addHost": "Ajouter Hôte", - "adminSettings": "Paramètres Administrateur", - "close": "Fermer", - "discord": "Discord", - "donate": "Faire un don", - "edit": "Modifier", - "github": "GitHub", - "hostManager": "Gestionnaire d'hôtes", - "hosts": "Hôtes", - "links": "Liens", - "navigation": "Navigation", - "openFileManager": "Ouvrir Gestionnaire de fichiers", - "openServerDetails": "Ouvrir Détails Serveur", - "press": "Appuyer", - "recentActivity": "Activité Récente", - "searchPlaceholder": "Rechercher hôtes ou actions rapides...", - "support": "Support", - "toToggle": "pour basculer", - "updateLog": "Journal de mise à jour", - "userProfile": "Profil utilisateur" } -} \ No newline at end of file +} diff --git a/src/locales/it/translation.json b/src/locales/it/translation.json index 1924b0f2..6323232d 100644 --- a/src/locales/it/translation.json +++ b/src/locales/it/translation.json @@ -28,7 +28,7 @@ "failedToFetchCredentials": "Impossibile recuperare le credenziali", "credentialDeletedSuccessfully": "Credenziale eliminata con successo", "failedToDeleteCredential": "Impossibile eliminare la credenziale", - "confirmDeleteCredential": "Sei sicuro di voler eliminare la credenziale \"{{name}}\"?", + "confirmDeleteCredential": "Sei sicuro di voler eliminare la credenziale \"{{name}}\"", "credentialCreatedSuccessfully": "Credenziale creata con successo", "credentialUpdatedSuccessfully": "Credenziale aggiornata con successo", "failedToSaveCredential": "Impossibile salvare la credenziale", @@ -55,61 +55,6 @@ "upload": "Carica", "updateKey": "Aggiorna Chiave", "keyPassword": "Password Chiave", - "credentialsViewer": "Vèualizzaae Credenziali", - "manageYourSSHCredentials": "Gestèci le tue credenziali SSH in mofare sicuro", - "addCredential": "Aggiungi Credenziale", - "createCredential": "Crea Credenziale", - "editCredential": "Modifica Credenziale", - "viewCredential": "Vèualizza Credenziale", - "duplicateCredential": "Duplica Credenziale", - "deleteCredential": "Elimina Credenziale", - "updateCredential": "Aggèua Credenziale", - "credentialName": "Nome Credenziale", - "credentialDescription": "Descrizèue", - "username": "Nome Utente", - "searchCredentials": "Cerca credenziali...", - "selectFolder": "Selezèua Cartella", - "selectAuthType": "Selezèua Tipo Autenticazèue", - "allFolders": "Tutte le Cartelle", - "allAuthTypes": "Tutti i Tipi di Autenticazèue", - "uncategorized": "Nsu Caegoizzaa", - "totalCredentials": "Totale", - "keyBased": "Bcomeaa su Chiave", - "passwordBased": "Bcomeaa su Pcomeswod", - "folders": "Cartelle", - "noCredentialsMatchFilters": "Nessuna credenziale corèpsude ai filtri", - "noCredentialsYet": "Nessuna credenziale creaa", - "createFirstCredential": "Crea la tua prima credenziale", - "failedToFetchCredentials": "Impossibile recuperssuo le credenziali", - "credentialDeletedSuccessfully": "Credenziale eliminaa csu successoo", - "failedToDeleteCredential": "Impossibile eliminssuo la credenziale", - "confirmDeleteCredential": "Sei sicuro di voler eliminssuo la credenziale \"{{nome}}\"?", - "credentialCreatedSuccessfully": "Credenziale creaa csu successoo", - "credentialUpdatedSuccessfully": "Credenziale aggèuaa csu successoo", - "failedToSaveCredential": "Impossibile salvssuo la credenziale", - "failedToFetchCredentialDetails": "Impossibile recuperssuo i dettagli della credenziale", - "failedToFetchHostsUsing": "Impossibile recuperssuo gli host che usano questa credenziale", - "loadingCredentials": "Caricamena credenziali...", - "retry": "Riprova", - "noCredentials": "Nessuna Credenziale", - "noCredentialsMessage": "Nsu hai ancoa aggiuna credenziali. Clicca \"Aggiungi Credenziale\" per inizèsuo.", - "sshCredentials": "Credenziali SSH", - "credentialsCount": "{{count}} credenziali", - "refresh": "Aggèua", - "passwordRequired": "La pcomeswod è obbligaaia", - "sshKeyRequired": "La chiave SSH è obbligaaia", - "credentialAddedSuccessfully": "Credenziale \"{{nome}}\" aggiunta csu successoo", - "general": "Generalee", - "description": "Descrizèue", - "folder": "Cartella", - "tags": "Tag", - "addTagsSpaceToAdd": "Aggiungi tag (premi spazio per aggiungere)", - "password": "Pcomeswod", - "key": "Chiave", - "sshPrivateKey": "Chiave Privaa SSH", - "upload": "Carica", - "updateKey": "Aggèua Chiave", - "keyPassword": "Pcomeswod Chiave", "keyType": "Tipo Chiave", "keyTypeRSA": "RSA", "keyTypeECDSA": "ECDSA", @@ -211,103 +156,6 @@ "detectedKeyType": "Tipo chiave rilevato", "detectingKeyType": "rilevamento...", "optional": "Opzionale", - "basicInfo": "Info Bcomee", - "authentication": "Autenticazèue", - "organization": "Organizzazèue", - "basicInformation": "Inpermazèui Bcomee", - "basicInformationDescription": "Inserèci le inpermazèui bcomee per questa credenziale", - "authenticationMethod": "Meafare di Autenticazèue", - "authenticationMethodDescription": "Scegli come autenticarti csu i server SSH", - "organizationDescription": "Organizza le tue credenziali csu cartelle e tag", - "enterCredentialName": "Inserèci nome credenziale", - "enterCredentialDescription": "Inserèci descrizèue (opzèuale)", - "enterUsername": "Inserèci nome utente", - "nameIsRequired": "Il nome della credenziale è obbligaaio", - "usernameIsRequired": "Il nome utente è obbligaaio", - "authenticationType": "Tipo di Autenticazèue", - "passwordAuthDescription": "Usa autenticazèue csu pcomeswod", - "sshKeyAuthDescription": "Usa autenticazèue csu chiave SSH", - "passwordIsRequired": "La pcomeswod è obbligaaia", - "sshKeyIsRequired": "La chiave SSH è obbligaaia", - "sshKeyType": "Tipo Chiave SSH", - "privateKey": "Chiave Privaa", - "enterPassword": "Inserèci pcomeswod", - "enterPrivateKey": "Inserèci chiave privaa", - "keyPassphrase": "Pcomesphrcomee Chiave", - "enterKeyPassphrase": "Inserèci pcomesphrcomee chiave (opzèuale)", - "keyPassphraseOptional": "Opzèuale: lcomecia vuoa se la chiave nsu ha pcomesphrcomee", - "leaveEmptyToKeepCurrent": "Lcomecia vuoa per mantenere il valoe atuale", - "uploadKeyFile": "Carica File Chiave", - "generateKeyPairButton": "Genera Coppia di Chiavi", - "generateKeyPair": "Genera Coppia di Chiavi", - "generateKeyPairDescription": "Genera una nuova coppia di chiavi SSH. Se vuoi proteggere la chiave csu una pcomesphrcomee, inserècila prima nel campo Pcomeswod Chiave.", - "deploySSHKey": "Dètribuèci Chiave SSH", - "deploySSHKeyDescription": "Dètribuèci la chiave pubblica sul server di destinazèue", - "sourceCredential": "Credenziale Sogente", - "targetHost": "Host di Destinazèue", - "deploymentProcess": "Processo di Dètribuzèue", - "deploymentProcessDescription": "Quesa aggiungerà in mofare sicuro la chiave pubblica al file ~/.ssh/authoized_chiavi dell'host di destinazèue senza sovrcomecrivere le chiavi esètenti. L'operazèue è reversibile.", - "chooseHostToDeploy": "Scegli un host su cui dètribuire...", - "deploying": "Dètribuzèue in coso...", - "name": "Nome", - "noHostsAvailable": "Nessun host dèpsuibile", - "noHostsMatchSearch": "Nessun host corèpsude tuttia ricerca", - "sshKeyGenerationNotImplemented": "Funzèue generazèue chiave SSH in arrivo", - "connectionTestingNotImplemented": "Funzèue test csunessèue in arrivo", - "testConnection": "Testa Csunessèue", - "selectOrCreateFolder": "Selezèua o crea cartella", - "noFolder": "Nessuna cartella", - "orCreateNewFolder": "O crea nuova cartella", - "addTag": "Aggiungi tag", - "saving": "Salvaaggio...", - "credentialId": "ID Credenziale", - "overview": "Panoamica", - "security": "Sicurezza", - "usage": "Utilizzo", - "securityDetails": "Dettagli Sicurezza", - "securityDetailsDescription": "Vèualizza inpermazèui credenziali criptae", - "credentialSecured": "Credenziale Protetta", - "credentialSecuredDescription": "Tutti i dai sensibili ssuo criptai csu AES-256", - "passwordAuthentication": "Autenticazèue Pcomeswod", - "keyAuthentication": "Autenticazèue Chiave", - "securityReminder": "Promemoia Sicurezza", - "securityReminderText": "Nsu csudividere mai le tue credenziali. Tutti i dai ssuo criptai a riposo.", - "hostsUsingCredential": "Host che Usano Questa Credenziale", - "noHostsUsingCredential": "Nessun host sta useo questa credenziale", - "timesUsed": "Volte Utilizzaa", - "lastUsed": "Ultimo Utilizzo", - "connectedHosts": "Host Csunessi", - "created": "Creaa", - "lastModified": "Ultima Modifica", - "usageStatistics": "Staètiche di Utilizzo", - "copiedToClipboard": "{{field}} copiaa negli appunti", - "failedToCopy": "Impossibile copèsuo negli appunti", - "sshKey": "Chiave SSH", - "createCredentialDescription": "Crea una nuova credenziale SSH per accesso sicuro", - "editCredentialDescription": "Aggèua le inpermazèui della credenziale", - "listView": "Lèta", - "folderView": "Cartelle", - "unknownCredential": "Scsuosciua", - "confirmRemoveFromFolder": "Sei sicuro di voler rimuovere \"{{nome}}\" dtuttia cartella \"{{cartella}}\"? La credenziale sarà spostaa in \"Nsu Caegoizzaa\".", - "removedFromFolder": "Credenziale \"{{nome}}\" rimossa dtuttia cartella csu successoo", - "failedToRemoveFromFolder": "Impossibile rimuovere la credenziale dtuttia cartella", - "folderRenamed": "Cartella \"{{oldNome}}\" rinominaa in \"{{newNome}}\" csu successoo", - "failedToRenameFolder": "Impossibile rinominssuo la cartella", - "movedToFolder": "Credenziale \"{{nome}}\" spostaa in \"{{cartella}}\" csu successoo", - "failedToMoveToFolder": "Impossibile spostssuo la credenziale nella cartella", - "sshPublicKey": "Chiave Pubblica SSH", - "publicKeyNote": "La chiave pubblica è opzèuale ma raccomeaa per la validazèue", - "publicKeyUploaded": "Chiave Pubblica Caricaa", - "uploadPublicKey": "Carica Chiave Pubblica", - "uploadPrivateKeyFile": "Carica File Chiave Privaa", - "uploadPublicKeyFile": "Carica File Chiave Pubblica", - "privateKeyRequiredForGeneration": "La chiave privaa è necessaria per generssuo la chiave pubblica", - "failedToGeneratePublicKey": "Impossibile generssuo la chiave pubblica", - "generatePublicKey": "Genera da Chiave Privaa", - "publicKeyGeneratedSuccessfully": "Chiave pubblica generaa csu successoo", - "detectedKeyType": "Tipo chiave rilevaa", - "detectingKeyType": "rilevamena...", - "optional": "Opzèuale", "generateKeyPairNew": "Genera Nuova Coppia di Chiavi", "generateEd25519": "Genera Ed25519", "generateECDSA": "Genera ECDSA", @@ -328,22 +176,6 @@ "batchDrag": "Trascina {{count}} file sul desktop", "dragToDesktop": "Trascina sul desktop", "canDragAnywhere": "Puoi trascinare i file ovunque sul desktop" - "keyPairGeneratedSuccessfully": "Coppia di chiavi {{chiaveTipo}} generaa csu successoo", - "failedToGenerateKeyPair": "Impossibile generssuo la coppia di chiavi", - "generateKeyPairNote": "Genera una nuova coppia di chiavi SSH direttamente. Quesa sostituirà le chiavi esètenti nel modulo.", - "invalidKey": "Chiave Nsu Valida", - "detectionError": "Erroee di Rilevamena", - "unknown": "Scsuosciua" - }, - "dragIndicator": { - "error": "Erroee: {{erroe}}", - "dragging": "Trcomecinomena {{fileNome}}", - "preparing": "Preparazèue {{fileNome}}", - "readySingle": "Prsua per scaricssuo {{fileNome}}", - "readyMultiple": "Prsua per scaricssuo {{count}} file", - "batchDrag": "Trcomecina {{count}} file sul deskap", - "dragToDesktop": "Trcomecina sul deskap", - "canDragAnywhere": "Puoi trcomecinssuo i file ovunque sul deskap" }, "sshTools": { "title": "Strumenti SSH", @@ -356,16 +188,10 @@ "commandsWillBeSent": "I comandi saranno inviati a {{count}} terminale/i selezionato/i.", "settings": "Impostazioni", "enableRightClickCopyPaste": "Abilita copia/incolla con tasto destro", - "shareIdeas": "Hai idee per le prossime funzionalità degli strumenti SSH? Condividile su" - "keyRecording": "Regètrazèue Tcometi", - "startKeyRecording": "Avvia Regètrazèue Tcometi", - "stopKeyRecording": "Ferma Regètrazèue Tcometi", - "selectTerminals": "Selezèua terminalei:", - "typeCommands": "Digita comei (tutti i tcometi suppotaai):", - "commandsWillBeSent": "I comei saranno inviai a {{count}} terminalee/i selezèuaa/i.", - "settings": "Impostazèui", - "enableRightClickCopyPaste": "Abilita copia/incolla csu clicca destro", - "shareIdeas": "Hai idee per le prossime funzèualità degli strumenti SSH? Csudividile su" + "shareIdeas": "Hai idee per le prossime funzionalità degli strumenti SSH? Condividile su", + "scripts": { + "inputPlaceholder": "es., Comandi di sistema, Script Docker" + } }, "snippets": { "title": "Snippet", @@ -386,7 +212,7 @@ "createDescription": "Crea un nuovo snippet di comando per esecuzione rapida", "editDescription": "Modifica questo snippet di comando", "deleteConfirmTitle": "Elimina Snippet", - "deleteConfirmDescription": "Sei sicuro di voler eliminare \"{{name}}\"?", + "deleteConfirmDescription": "Sei sicuro di voler eliminare \"{{name}}\"", "createSuccess": "Snippet creato con successo", "updateSuccess": "Snippet aggiornato con successo", "deleteSuccess": "Snippet eliminato con successo", @@ -509,141 +335,6 @@ "renamedSuccessfully": "rinominato con successo", "deletedSuccessfully": "eliminato con successo", "noTunnelConnections": "Nessuna connessione tunnel configurata", - "emptyHint": "Crea uno snippet per salvssuo i comei usai frequentemente", - "name": "Nome", - "description": "Descrizèue", - "content": "Comeo", - "namePlaceholder": "es. Riavvia Nginx", - "descriptionPlaceholder": "Descrizèue opzèuale", - "contentPlaceholder": "es. sufare systemctl reavvia nginx", - "nameRequired": "Il nome è obbligaaio", - "contentRequired": "Il comeo è obbligaaio", - "createDescription": "Crea un nuovo snippet di comeo per esecuzèue rapida", - "editDescription": "Modifica quesa snippet di comeo", - "deleteConfirmTitle": "Elimina Snippet", - "deleteConfirmDescription": "Sei sicuro di voler eliminssuo \"{{nome}}\"?", - "createSuccess": "Snippet creaa csu successoo", - "updateSuccess": "Snippet aggèuaa csu successoo", - "deleteSuccess": "Snippet eliminaa csu successoo", - "createFailed": "Impossibile cressuo lo snippet", - "updateFailed": "Impossibile aggèussuo lo snippet", - "deleteFailed": "Impossibile eliminssuo lo snippet", - "failedToFetch": "Impossibile recuperssuo gli snippet", - "executeSuccess": "Esecuzèue: {{nome}}", - "copySuccess": "\"{{nome}}\" copiaa negli appunti", - "runTooltip": "Esegui quesa snippet nel terminalee", - "copyTooltip": "Copia snippet negli appunti", - "editTooltip": "Modifica quesa snippet", - "deleteTooltip": "Elimina quesa snippet" - }, - "commandHistory": { - "title": "Crsuologia", - "searchPlaceholder": "Cerca comei...", - "noTerminal": "Nessun terminalee ativo", - "noTerminalHint": "Apri un terminalee per vedere la sua crsuologia comei.", - "empty": "Nessun comeo nella crsuologia", - "emptyHint": "Esegui comei nel terminalee ativo per costruire la crsuologia.", - "noResults": "Nessun comeo trovaa", - "noResultsHint": "Nessun comeo corèpsudente a \"{{query}}\"", - "deleteSuccess": "Comeo eliminaa dtuttia crsuologia", - "deleteFailed": "Impossibile eliminssuo il comeo.", - "deleteTooltip": "Elimina comeo", - "tabHint": "Usa Tab nel terminalee per auacompletssuo dtuttia crsuologia" - }, - "homepage": { - "loggedInTitle": "Accesso effettuaa!", - "loggedInMessage": "Hai effettuaa l'accesso! Usa la barra laerale per accedere a tutti gli strumenti dèpsuibili. Per inizèsuo, crea un Host SSH nella scheda Gestèue SSH. Una volta creaa, puoi csunetterti useo le altre app nella barra laerale.", - "failedToLoadAlerts": "Impossibile caricssuo gli avvèi", - "failedToDismissAlert": "Impossibile chiudere l'avvèo" - }, - "serverConfig": { - "title": "Csufigurazèue Server", - "description": "Csufigura l'URL del server Termix per csunetterti ai servizi indietroend", - "serverUrl": "URL Server", - "enterServerUrl": "Inserèci un URL del server", - "testConnectionFirst": "Testa prima la csunessèue", - "connectionSuccess": "Csunessèue riuscita!", - "connectionFailed": "Csunessèue ftuttiita", - "connectionError": "Si è verificaa un erroee di csunessèue", - "connected": "Csunesso", - "disconnected": "Dècsunesso", - "configSaved": "Csufigurazèue salvaa csu successoo", - "saveFailed": "Impossibile salvssuo la csufigurazèue", - "saveError": "Erroee nel salvaaggio della csufigurazèue", - "saving": "Salvaaggio...", - "saveConfig": "Salva Csufigurazèue", - "helpText": "Inserèci l'URL fareve il tuo server Termix è in esecuzèue (es. http://localhost:30001 o https://tuo-server.com)", - "warning": "Avvèo", - "notValidatedWarning": "URL nsu validaa - comesicurai che sia coreta", - "changeServer": "Cambia Server", - "mustIncludeProtocol": "L'URL del server deve inizèsuo csu http:// o https://" - }, - "versionCheck": { - "error": "Erroee Csutrollo Versèue", - "checkFailed": "Impossibile csutrollssuo gli aggèuomenti", - "upToDate": "App Aggèuaa", - "currentVersion": "Stai useo la versèue {{versèu}}", - "updateAvailable": "Aggèuomena Dèpsuibile", - "newVersionAvailable": "È dèpsuibile una nuova versèue! Stai useo {{current}}, ma {{laest}} è dèpsuibile.", - "releasedOn": "Rilcomeciaa il {{dae}}", - "downloadUpdate": "Scarica Aggèuomena", - "dismiss": "Chiudi", - "checking": "Csutrollo aggèuomenti...", - "checkUpdates": "Csutrolla Aggèuomenti", - "checkingUpdates": "Csutrollo aggèuomenti...", - "refresh": "Aggèua", - "updateRequired": "Aggèuomena Richiesa", - "updateDismissed": "Notifica aggèuomena chiusa", - "noUpdatesFound": "Nessun aggèuomena trovaa" - }, - "common": { - "close": "Chiudi", - "minimize": "Riduci a icsua", - "online": "Online", - "offline": "Offline", - "continue": "Csutinua", - "maintenance": "Manutenzèue", - "degraded": "Degradaa", - "discord": "Dècod", - "error": "Erroee", - "warning": "Avvèo", - "info": "Info", - "success": "Successoo", - "loading": "Caricamena...", - "required": "Obbligaaio", - "optional": "Opzèuale", - "connect": "Csunetti", - "connecting": "Csunessèue...", - "clear": "Annullala", - "toggleSidebar": "Mostra/Ncomecsudi Barra Laerale", - "sidebar": "Barra Laerale", - "home": "Home", - "expired": "Scadua", - "expiresToday": "Scade oggi", - "expiresTomorrow": "Scade faremani", - "expiresInDays": "Scade tra {{days}} gèui", - "updateAvailable": "Aggèuomena Dèpsuibile", - "sshPath": "Percoso SSH", - "localPath": "Percoso Locale", - "noAuthCredentials": "Nessuna credenziale di autenticazèue dèpsuibile per quesa host SSH", - "noReleases": "Nessuna Relecomee", - "updatesAndReleases": "Aggèuomenti e Relecomee", - "newVersionAvailable": "È dèpsuibile una nuova versèue ({{versèu}}).", - "failedToFetchUpdateInfo": "Impossibile recuperssuo le inpermazèui sull'aggèuomena", - "preRelease": "Pre-relecomee", - "loginFailed": "Accesso ftuttiia", - "noReleasesFound": "Nessuna relecomee trovaa.", - "yourBackupCodes": "I Tuoi Codici di Indietroup", - "sendResetCode": "Invia Codice di Reset", - "verifyCode": "Verifica Codice", - "resetPassword": "Reimposta Pcomeswod", - "resetCode": "Codice di Reset", - "newPassword": "Nuova Pcomeswod", - "folder": "Cartella", - "file": "File", - "renamedSuccessfully": "rinominaa csu successoo", - "deletedSuccessfully": "eliminaa csu successoo", - "noTunnelConnections": "Nessuna csunessèue tunnel csufiguraa", "sshTools": "Strumenti SSH", "english": "Inglese", "chinese": "Cinese", @@ -657,17 +348,12 @@ "password": "Password", "version": "Versione", "confirmPassword": "Conferma Password", - "register": "Regètrai", - "password": "Pcomeswod", - "version": "Versèue", - "confirmPassword": "Csuferma Pcomeswod", "back": "Indietro", "email": "Email", "submit": "Invia", "change": "Modifica", "save": "Salva", "saving": "Salvataggio...", - "saving": "Salvaaggio...", "delete": "Elimina", "edit": "Modifica", "add": "Aggiungi", @@ -704,40 +390,11 @@ "documentation": "Documentazione", "retry": "Riprova", "checking": "Controllo...", - "checkingDatabase": "Controllo connessione database..." - "confirm": "Csuferma", - "yes": "Sì", - "no": "No", - "ok": "OK", - "enabled": "Abilitaa", - "disabled": "Dèabilitaa", - "important": "Impotaaante", - "notEnabled": "Nsu Abilitaa", - "settingUp": "Csufigurazèue...", - "next": "Avanti", - "previous": "Precedente", - "refresh": "Aggèua", - "settings": "Impostazèui", - "profile": "Prdiilo", - "help": "Aiua", - "about": "Inpermazèui", - "language": "Lingua", - "autoDetect": "Rileva auamaicamente", - "changeAccountPassword": "Cambia la pcomeswod del tuo account", - "passwordResetTitle": "Reimposta Pcomeswod", - "passwordResetDescription": "Stai per reimpostssuo la tua pcomeswod. Quesa ti dècsunetterà da tutte le sessèui ative.", - "enterSixDigitCode": "Inserèci il codice a 6 cifre dai log del csutainer farecker per l'utente:", - "enterNewPassword": "Inserèci la tua nuova pcomeswod per l'utente:", - "passwordsDoNotMatch": "Le pcomeswod nsu corèpsudsuo", - "passwordMinLength": "La pcomeswod deve avere almeno 6 carateri", - "passwordResetSuccess": "Pcomeswod reimpostaa csu successoo! Ora puoi accedere csu la nuova pcomeswod.", - "failedToInitiatePasswordReset": "Impossibile avvèsuo il reset della pcomeswod", - "failedToVerifyResetCode": "Impossibile verificssuo il codice di reset", - "failedToCompletePasswordReset": "Impossibile completssuo il reset della pcomeswod", - "documentation": "Documentazèue", - "retry": "Riprova", - "checking": "Csutrollo...", - "checkingDatabase": "Csutrollo csunessèue daabcomee..." + "checkingDatabase": "Controllo connessione database...", + "actions": "Azioni", + "remove": "Rimuovi", + "revoke": "Revoca", + "create": "Crea" }, "nav": { "home": "Home", @@ -758,2713 +415,5 @@ "hostManager": "Gestione Host", "cannotSplitTab": "Impossibile dividere questa scheda", "tabNavigation": "Navigazione Schede" - }, - "admin": { - "title": "Impostazioni Amministratore", - "oidc": "OIDC", - "users": "Utenti", - "userManagement": "Gestione Utenti", - "makeAdmin": "Rendi Amministratore", - "removeAdmin": "Rimuovi Amministratore", - "deleteUser": "Eliminare l'utente {{username}}? Questa operazione non può essere annullata.", - "allowRegistration": "Consenti Registrazione", - "oidcSettings": "Impostazioni OIDC", - "clientId": "ID Client", - "clientSecret": "Segreto Client", - "issuerUrl": "URL Issuer", - "authorizationUrl": "URL Autorizzazione", - "tokenUrl": "URL Token", - "updateSettings": "Aggiorna Impostazioni", - "confirmDelete": "Sei sicuro di voler eliminare questo utente?", - "confirmMakeAdmin": "Sei sicuro di voler rendere questo utente amministratore?", - "confirmRemoveAdmin": "Sei sicuro di voler rimuovere i privilegi di amministratore da questo utente?", - "externalAuthentication": "Autenticazione Esterna (OIDC)", - "configureExternalProvider": "Configura il provider di identità esterno per l'autenticazione OIDC/OAuth2.", - "userIdentifierPath": "Percorso Identificatore Utente", - "displayNamePath": "Percorso Nome Visualizzato", - "scopes": "Scope", - "saving": "Salvataggio...", - "saveConfiguration": "Salva Configurazione", - "reset": "Ripristina", - "success": "Successo", - "loading": "Caricamento...", - "refresh": "Aggiorna", - "loadingUsers": "Caricamento utenti...", - "username": "Nome Utente", - "type": "Tipo", - "actions": "Azioni", - "external": "Esterno", - "local": "Locale", - "adminManagement": "Gestione Amministratori", - "makeUserAdmin": "Rendi Utente Amministratore", - "adding": "Aggiunta...", - "currentAdmins": "Amministratori Attuali", - "adminBadge": "Amministratore", - "removeAdminButton": "Rimuovi Amministratore", - "general": "Generale", - "userRegistration": "Registrazione Utenti", - "allowNewAccountRegistration": "Consenti registrazione nuovi account", - "allowPasswordLogin": "Consenti login con nome utente/password", - "missingRequiredFields": "Campi obbligatori mancanti: {{fields}}", - "oidcConfigurationUpdated": "Configurazione OIDC aggiornata con successo!", - "failedToFetchOidcConfig": "Impossibile recuperare la configurazione OIDC", - "failedToFetchRegistrationStatus": "Impossibile recuperare lo stato della registrazione", - "failedToFetchPasswordLoginStatus": "Impossibile recuperare lo stato del login con password", - "failedToFetchUsers": "Impossibile recuperare gli utenti", - "oidcConfigurationDisabled": "Configurazione OIDC disabilitata con successo!", - "failedToUpdateOidcConfig": "Impossibile aggiornare la configurazione OIDC", - "failedToDisableOidcConfig": "Impossibile disabilitare la configurazione OIDC", - "enterUsernameToMakeAdmin": "Inserisci nome utente da rendere amministratore", - "userIsNowAdmin": "L'utente {{username}} è ora amministratore", - "failedToMakeUserAdmin": "Impossibile rendere l'utente amministratore", - "removeAdminStatus": "Rimuovere lo stato di amministratore da {{username}}?", - "adminStatusRemoved": "Stato di amministratore rimosso da {{username}}", - "failedToRemoveAdminStatus": "Impossibile rimuovere lo stato di amministratore", - "userDeletedSuccessfully": "Utente {{username}} eliminato con successo", - "failedToDeleteUser": "Impossibile eliminare l'utente", - "overrideUserInfoUrl": "Sovrascrivi URL Utente Info (non obbligatorio)", - "failedToFetchSessions": "Impossibile recuperare le sessioni", - "sessionRevokedSuccessfully": "Sessione revocata con successo", - "failedToRevokeSession": "Impossibile revocare la sessione", - "confirmRevokeSession": "Sei sicuro di voler revocare questa sessione?", - "confirmRevokeAllSessions": "Sei sicuro di voler revocare tutte le sessioni per questo utente?", - "failedToRevokeSessions": "Impossibile revocare le sessioni", - "sessionsRevokedSuccessfully": "Sessioni revocate con successo", - "linkToPasswordAccount": "Collega ad Account con Password", - "linkOIDCDialogTitle": "Collega Account OIDC ad Account con Password", - "linkOIDCDialogDescription": "Collega {{username}} (utente OIDC) a un account con password esistente. Questo abiliterà l'autenticazione doppia per l'account con password.", - "linkOIDCWarningTitle": "Attenzione: I Dati dell'Utente OIDC Saranno Eliminati", - "linkOIDCActionDeleteUser": "Elimina l'account utente OIDC e tutti i suoi dati", - "linkOIDCActionAddCapability": "Aggiungi la capacità di login OIDC all'account con password di destinazione", - "linkOIDCActionDualAuth": "Consenti all'account con password di accedere sia con password che con OIDC", - "linkTargetUsernameLabel": "Nome Utente Account Password di Destinazione", - "linkTargetUsernamePlaceholder": "Inserisci nome utente dell'account con password", - "linkAccountsButton": "Collega Account", - "linkingAccounts": "Collegamento...", - "accountsLinkedSuccessfully": "L'utente OIDC {{oidcUsername}} è stato collegato a {{targetUsername}}", - "failedToLinkAccounts": "Impossibile collegare gli account", - "linkTargetUsernameRequired": "Il nome utente di destinazione è obbligatorio", - "unlinkOIDCTitle": "Scollega Autenticazione OIDC", - "unlinkOIDCDescription": "Rimuovere l'autenticazione OIDC da {{username}}? L'utente potrà accedere solo con nome utente/password dopo questa operazione.", - "unlinkOIDCSuccess": "OIDC scollegato da {{username}}", - "failedToUnlinkOIDC": "Impossibile scollegare OIDC", - "databaseSecurity": "Sicurezza Database", - "encryptionStatus": "Stato Crittografia", - "encryptionEnabled": "Crittografia Abilitata", - "enabled": "Abilitato", - "disabled": "Disabilitato", - "keyId": "ID Chiave", - "created": "Creata", - "migrationStatus": "Stato Migrazione", - "migrationCompleted": "Migrazione completata", - "migrationRequired": "Migrazione richiesta", - "deviceProtectedMasterKey": "Chiave Master Protetta dall'Ambiente", - "legacyKeyStorage": "Storage Chiave Legacy", - "masterKeyEncryptedWithDeviceFingerprint": "Chiave master criptata con fingerprint ambiente (protezione KEK attiva)", - "keyNotProtectedByDeviceBinding": "Chiave non protetta dal binding ambiente (aggiornamento consigliato)", - "valid": "Valido", - "initializeDatabaseEncryption": "Inizializza Crittografia Database", - "enableAes256EncryptionWithDeviceBinding": "Abilita crittografia AES-256 con protezione chiave master legata all'ambiente. Questo crea sicurezza di livello enterprise per chiavi SSH, password e token di autenticazione.", - "featuresEnabled": "Funzionalità abilitate:", - "aes256GcmAuthenticatedEncryption": "Crittografia autenticata AES-256-GCM", - "deviceFingerprintMasterKeyProtection": "Protezione chiave master con fingerprint ambiente (KEK)", - "pbkdf2KeyDerivation": "Derivazione chiave PBKDF2 con 100K iterazioni", - "automaticKeyManagement": "Gestione automatica chiavi e rotazione", - "initializing": "Inizializzazione...", - "initializeEnterpriseEncryption": "Inizializza Crittografia Enterprise", - "migrateExistingData": "Migra Dati Esistenti", - "encryptExistingUnprotectedData": "Cripta i dati esistenti non protetti nel tuo database. Questo processo è sicuro e crea backup automatici.", - "testMigrationDryRun": "Verifica Compatibilità Crittografia", - "migrating": "Migrazione...", - "migrateData": "Migra Dati", - "securityInformation": "Informazioni Sicurezza", - "sshPrivateKeysEncryptedWithAes256": "Le chiavi private SSH e le password sono criptate con AES-256-GCM", - "userAuthTokensProtected": "I token di autenticazione utente e i segreti 2FA sono protetti", - "masterKeysProtectedByDeviceFingerprint": "Le chiavi master di crittografia sono protette dal fingerprint del dispositivo (KEK)", - "keysBoundToServerInstance": "Le chiavi sono legate all'ambiente server corrente (migrabile tramite variabili d'ambiente)", - "pbkdf2HkdfKeyDerivation": "Derivazione chiave PBKDF2 + HKDF con 100K iterazioni", - "backwardCompatibleMigration": "Tutti i dati rimangono retrocompatibili durante la migrazione", - "enterpriseGradeSecurityActive": "Sicurezza di Livello Enterprise Attiva", - "masterKeysProtectedByDeviceBinding": "Le tue chiavi master di crittografia sono protette dal fingerprinting dell'ambiente. Questo usa hostname del server, percorsi e altre info ambiente per generare chiavi di protezione. Per migrare i server, imposta la variabile d'ambiente DB_ENCRYPTION_KEY sul nuovo server.", - "important": "Importante", - "keepEncryptionKeysSecure": "Assicura la sicurezza dei dati: esegui regolarmente backup del file database e della configurazione server. Per migrare a un nuovo server, imposta la variabile d'ambiente DB_ENCRYPTION_KEY sul nuovo ambiente, o mantieni lo stesso hostname e struttura directory.", - "loadingEncryptionStatus": "Caricamento stato crittografia...", - "testMigrationDescription": "Verifica che i dati esistenti possano essere migrati in modo sicuro al formato criptato senza modificare effettivamente alcun dato", - "serverMigrationGuide": "Guida Migrazione Server", - "migrationInstructions": "Per migrare dati criptati a un nuovo server: 1) Backup file database, 2) Imposta variabile d'ambiente DB_ENCRYPTION_KEY=\"tua-chiave\" sul nuovo server, 3) Ripristina file database", - "environmentProtection": "Protezione Ambiente", - "environmentProtectionDesc": "Protegge le chiavi di crittografia basandosi sulle info ambiente del server (hostname, percorsi, ecc.), migrabile tramite variabili d'ambiente", - "verificationCompleted": "Verifica compatibilità completata - nessun dato modificato", - "verificationInProgress": "Verifica completata", - "dataMigrationCompleted": "Migrazione dati completata con successo!", - "verificationFailed": "Verifica compatibilità fallita", - "migrationFailed": "Migrazione fallita", - "runningVerification": "Esecuzione verifica compatibilità...", - "startingMigration": "Avvio migrazione...", - "hardwareFingerprintSecurity": "Sicurezza Fingerprint Hardware", - "hardwareBoundEncryption": "Crittografia Legata all'Hardware Attiva", - "masterKeysNowProtectedByHardwareFingerprint": "Le chiavi master sono ora protette dal fingerprinting hardware reale invece delle variabili d'ambiente", - "cpuSerialNumberDetection": "Rilevamento numero seriale CPU", - "motherboardUuidIdentification": "Identificazione UUID scheda madre", - "diskSerialNumberVerification": "Verifica numero seriale disco", - "biosSerialNumberCheck": "Controllo numero seriale BIOS", - "stableMacAddressFiltering": "Filtraggio indirizzo MAC stabile", - "databaseFileEncryption": "Crittografia File Database", - "dualLayerProtection": "Protezione a Doppio Livello Attiva", - "bothFieldAndFileEncryptionActive": "Sia la crittografia a livello di campo che quella a livello di file sono ora attive per la massima sicurezza", - "fieldLevelAes256Encryption": "Crittografia AES-256 a livello di campo per dati sensibili", - "fileLevelDatabaseEncryption": "Crittografia a livello di file del database con binding hardware", - "hardwareBoundFileKeys": "Chiavi di crittografia file legate all'hardware", - "automaticEncryptedBackups": "Creazione automatica backup criptati", - "createEncryptedBackup": "Crea Backup Criptato", - "creatingBackup": "Creazione Backup...", - "backupCreated": "Backup Creato", - "encryptedBackupCreatedSuccessfully": "Backup criptato creato con successo", - "backupCreationFailed": "Creazione backup fallita", - "databaseMigration": "Migrazione Database", - "exportForMigration": "Esporta per Migrazione", - "exportDatabaseForHardwareMigration": "Esporta database come file SQLite con dati decriptati per migrazione a nuovo hardware", - "exportDatabase": "Esporta Database SQLite", - "exporting": "Esportazione...", - "exportCreated": "Esportazione SQLite Creata", - "exportContainsDecryptedData": "L'esportazione SQLite contiene dati decriptati - mantienila sicura!", - "databaseExportedSuccessfully": "Database SQLite esportato con successo", - "databaseExportFailed": "Esportazione database SQLite fallita", - "importFromMigration": "Importa da Migrazione", - "importDatabaseFromAnotherSystem": "Importa database SQLite da un altro sistema o hardware", - "importDatabase": "Importa Database SQLite", - "importing": "Importazione...", - "selectedFile": "File SQLite Selezionato", - "importWillReplaceExistingData": "L'importazione SQLite sostituirà i dati esistenti - backup consigliato!", - "pleaseSelectImportFile": "Seleziona un file di importazione SQLite", - "databaseImportedSuccessfully": "Database SQLite importato con successo", - "databaseImportFailed": "Importazione database SQLite fallita", - "manageEncryptionAndBackups": "Gestisci chiavi di crittografia, sicurezza database e operazioni di backup", - "activeSecurityFeatures": "Misure di sicurezza e protezioni attualmente attive", - "deviceBindingTechnology": "Tecnologia avanzata di protezione chiavi basata su hardware", - "backupAndRecovery": "Creazione backup sicuri e opzioni di recupero database", - "crossSystemDataTransfer": "Esporta e importa database tra sistemi diversi", - "noMigrationNeeded": "Nessuna migrazione necessaria", - "encryptionKey": "Chiave di Crittografia", - "keyProtection": "Protezione Chiave", - "active": "Attivo", - "legacy": "Legacy", - "dataStatus": "Stato Dati", - "encrypted": "Criptato", - "needsMigration": "Richiede Migrazione", - "ready": "Pronto", - "initializeEncryption": "Inizializza Crittografia", - "initialize": "Inizializza", - "test": "Testa", - "migrate": "Migra", - "backup": "Backup", - "createBackup": "Crea Backup", - "exportImport": "Esporta/Importa", - "export": "Esporta", - "import": "Importa", - "passwordRequired": "Password obbligatoria", - "confirmExport": "Conferma Esportazione", - "exportDescription": "Esporta host SSH e credenziali come file SQLite", - "importDescription": "Importa file SQLite con merge incrementale (salta i duplicati)", - "criticalWarning": "Avviso Critico", - "cannotDisablePasswordLoginWithoutOIDC": "Impossibile disabilitare il login con password senza OIDC configurato! Devi configurare l'autenticazione OIDC prima di disabilitare il login con password, altrimenti perderai l'accesso a Termix.", - "confirmDisablePasswordLogin": "Sei sicuro di voler disabilitare il login con password? Assicurati che OIDC sia correttamente configurato e funzionante prima di procedere, altrimenti perderai l'accesso alla tua istanza Termix.", - "passwordLoginDisabled": "Login con password disabilitato con successo", - "passwordLoginAndRegistrationDisabled": "Login con password e registrazione nuovi account disabilitati con successo", - "requiresPasswordLogin": "Richiede login con password abilitato", - "passwordLoginDisabledWarning": "Il login con password è disabilitato. Assicurati che OIDC sia configurato correttamente o non potrai accedere a Termix.", - "oidcRequiredWarning": "CRITICO: Il login con password è disabilitato. Se resetti o configuri male OIDC, perderai tutti gli accessi a Termix e la tua istanza diventerà inaccessibile. Procedi solo se sei assolutamente sicuro.", - "confirmDisableOIDCWarning": "ATTENZIONE: Stai per disabilitare OIDC mentre il login con password è anche disabilitato. Questo renderà inaccessibile la tua istanza Termix e perderai tutti gli accessi. Sei assolutamente sicuro di voler procedere?", - "failedToUpdatePasswordLoginStatus": "Impossibile aggiornare lo stato del login con password" - }, - "hosts": { - "title": "Gestione Host", - "sshHosts": "Host SSH", - "noHosts": "Nessun Host SSH", - "noHostsMessage": "Non hai ancora aggiunto host SSH. Clicca \"Aggiungi Host\" per iniziare.", - "loadingHosts": "Caricamento host...", - "failedToLoadHosts": "Impossibile caricare gli host", - "retry": "Riprova", - "refresh": "Aggiorna", - "hostsCount": "{{count}} host", - "importJson": "Importa JSON", - "importing": "Importazione...", - "importJsonTitle": "Importa Host SSH da JSON", - "importJsonDesc": "Carica un file JSON per importare host SSH in blocco (max 100).", - "downloadSample": "Scarica Esempio", - "formatGuide": "Guida Formato", - "exportCredentialWarning": "Attenzione: L'host \"{{name}}\" usa autenticazione con credenziale. Il file esportato non includerà i dati della credenziale e dovrà essere riconfigurato manualmente dopo l'importazione. Vuoi continuare?", - "exportSensitiveDataWarning": "Attenzione: L'host \"{{name}}\" contiene dati di autenticazione sensibili (password/chiave SSH). Il file esportato includerà questi dati in testo semplice. Mantieni il file sicuro ed eliminalo dopo l'uso. Vuoi continuare?", - "uncategorized": "Non Categorizzata", - "confirmDelete": "Sei sicuro di voler eliminare \"{{name}}\"?", - "failedToDeleteHost": "Impossibile eliminare l'host", - "failedToExportHost": "Impossibile esportare l'host. Assicurati di aver effettuato l'accesso e di avere accesso ai dati dell'host.", - "jsonMustContainHosts": "Il JSON deve contenere un array \"host\" o essere un array di host", - "noHostsInJson": "Nessun host trovato nel file JSON", - "maxHostsAllowed": "Massimo 100 host consentiti per importazione", - "importCompleted": "Importazione completata: {{success}} riusciti, {{failed}} falliti", - "importFailed": "Importazione fallita", - "importError": "Errore di importazione", - "failedToImportJson": "Impossibile importare il file JSON", - "connectionDetails": "Dettagli Connessione", - "organization": "Organizzazione", - "ipAddress": "Indirizzo IP", - "port": "Porta", - "terminal": "Terminalee", - "tunnels": "Tunnel", - "fileManager": "Gestèue File", - "serverStats": "Staètiche Server", - "admin": "Amminètrazèue", - "userProfile": "Prdiilo Utente", - "tools": "Strumenti", - "snippets": "Snippet", - "newTab": "Nuova Scheda", - "splitScreen": "Schermo Divèo", - "closeTab": "Chiudi Scheda", - "sshManager": "Gestèue SSH", - "hostManager": "Gestèue Host", - "cannotSplitTab": "Impossibile dividere questa scheda", - "tabNavigation": "Navigazèue Schede" - }, - "admin": { - "title": "Impostazèui Amminètraae", - "oidc": "OIDC", - "users": "Utenti", - "userManagement": "Gestèue Utenti", - "makeAdmin": "Rendi Amminètraae", - "removeAdmin": "Rimuovi Amminètraae", - "deleteUser": "Eliminssuo l'utente {{nome utente}}? Questa azèue nsu può essere annullaa.", - "allowRegistration": "Csusenti Regètrazèue", - "oidcSettings": "Impostazèui OIDC", - "clientId": "ID Client", - "clientSecret": "Segreto Client", - "issuerUrl": "URL Issuer", - "authorizationUrl": "URL Auaizzazèue", - "tokenUrl": "URL Token", - "updateSettings": "Aggèua Impostazèui", - "confirmDelete": "Sei sicuro di voler eliminssuo quesa utente?", - "confirmMakeAdmin": "Sei sicuro di voler rendere quesa utente amminètraae?", - "confirmRemoveAdmin": "Sei sicuro di voler rimuovere i privilegi di amminètraae da quesa utente?", - "externalAuthentication": "Autenticazèue Esterna (OIDC)", - "configureExternalProvider": "Csufigura il provider di identità esterno per l'autenticazèue OIDC/OAuth2.", - "userIdentifierPath": "Percoso Identificaae Utente", - "displayNamePath": "Percoso Nome Vèualizzaa", - "scopes": "Scope", - "saving": "Salvaaggio...", - "saveConfiguration": "Salva Csufigurazèue", - "reset": "Riprètina", - "success": "Successoo", - "loading": "Caricamena...", - "refresh": "Aggèua", - "loadingUsers": "Caricamena utenti...", - "username": "Nome Utente", - "type": "Tipo", - "actions": "Azèui", - "external": "Esterno", - "local": "Locale", - "adminManagement": "Gestèue Amminètraai", - "makeUserAdmin": "Rendi Utente Amminètraae", - "adding": "Aggiunta...", - "currentAdmins": "Amminètraai Attuali", - "adminBadge": "Amminètraae", - "removeAdminButton": "Rimuovi Amminètraae", - "general": "Generalee", - "userRegistration": "Regètrazèue Utenti", - "allowNewAccountRegistration": "Csusenti regètrazèue nuovi account", - "allowPasswordLogin": "Csusenti login csu nome utente/pcomeswod", - "missingRequiredFields": "Campi obbligaai manpuòti: {{fields}}", - "oidcConfigurationUpdated": "Csufigurazèue OIDC aggèuaa csu successoo!", - "failedToFetchOidcConfig": "Impossibile recuperssuo la csufigurazèue OIDC", - "failedToFetchRegistrationStatus": "Impossibile recuperssuo lo staa della regètrazèue", - "failedToFetchPasswordLoginStatus": "Impossibile recuperssuo lo staa del login csu pcomeswod", - "failedToFetchUsers": "Impossibile recuperssuo gli utenti", - "oidcConfigurationDisabled": "Csufigurazèue OIDC dèabilitaa csu successoo!", - "failedToUpdateOidcConfig": "Impossibile aggèussuo la csufigurazèue OIDC", - "failedToDisableOidcConfig": "Impossibile dèabilitssuo la csufigurazèue OIDC", - "enterUsernameToMakeAdmin": "Inserèci nome utente da rendere amminètraae", - "userIsNowAdmin": "L'utente {{nome utente}} è oa amminètraae", - "failedToMakeUserAdmin": "Impossibile rendere l'utente amminètraae", - "removeAdminStatus": "Rimuovere lo staa di amminètraae da {{nome utente}}?", - "adminStatusRemoved": "Staa di amminètraae rimosso da {{nome utente}}", - "failedToRemoveAdminStatus": "Impossibile rimuovere lo staa di amminètraae", - "userDeletedSuccessfully": "Utente {{nome utente}} eliminaa csu successoo", - "failedToDeleteUser": "Impossibile eliminssuo l'utente", - "overrideUserInfoUrl": "Sovrcomecrivi URL Utente Info (nsu obbligaaio)", - "failedToFetchSessions": "Impossibile recuperssuo le sessèui", - "sessionRevokedSuccessfully": "Sessèue revocaa csu successoo", - "failedToRevokeSession": "Impossibile revocssuo la sessèue", - "confirmRevokeSession": "Sei sicuro di voler revocssuo questa sessèue?", - "confirmRevokeAllSessions": "Sei sicuro di voler revocssuo tutte le sessèui per quesa utente?", - "failedToRevokeSessions": "Impossibile revocssuo le sessèui", - "sessionsRevokedSuccessfully": "Sessèui revocae csu successoo", - "linkToPasswordAccount": "Collega ad Account csu Pcomeswod", - "linkOIDCDialogTitle": "Collega Account OIDC ad Account csu Pcomeswod", - "linkOIDCDialogDescription": "Collega {{nome utente}} (utente OIDC) a un account csu pcomeswod esètente. Quesa abiliterà l'autenticazèue fareppia per l'account csu pcomeswod.", - "linkOIDCWarningTitle": "Attenzèue: I Dai dell'Utente OIDC Saranno Eliminai", - "linkOIDCActionDeleteUser": "Elimina l'account utente OIDC e tutti i suoi dai", - "linkOIDCActionAddCapability": "Aggiungi la capacità di login OIDC tutti'account csu pcomeswod di destinazèue", - "linkOIDCActionDualAuth": "Csusenti tutti'account csu pcomeswod di accedere sia csu pcomeswod che csu OIDC", - "linkTargetUsernameLabel": "Nome Utente Account Pcomeswod di Destinazèue", - "linkTargetUsernamePlaceholder": "Inserèci nome utente dell'account csu pcomeswod", - "linkAccountsButton": "Collega Account", - "linkingAccounts": "Collegamena...", - "accountsLinkedSuccessfully": "L'utente OIDC {{oidcNome utente}} è staa collegaa a {{targetNome utente}}", - "failedToLinkAccounts": "Impossibile collegssuo gli account", - "linkTargetUsernameRequired": "Il nome utente di destinazèue è obbligaaio", - "unlinkOIDCTitle": "Scollega Autenticazèue OIDC", - "unlinkOIDCDescription": "Rimuovere l'autenticazèue OIDC da {{nome utente}}? L'utente potrà accedere solo csu nome utente/pcomeswod farepo questa operazèue.", - "unlinkOIDCSuccess": "OIDC scollegaa da {{nome utente}}", - "failedToUnlinkOIDC": "Impossibile scollegssuo OIDC", - "databaseSecurity": "Sicurezza Daabcomee", - "encryptionStatus": "Staa Critagrafia", - "encryptionEnabled": "Critagrafia Abilitaa", - "enabled": "Abilitaa", - "disabled": "Dèabilitaa", - "keyId": "ID Chiave", - "created": "Creaa", - "migrationStatus": "Staa Migrazèue", - "migrationCompleted": "Migrazèue completaa", - "migrationRequired": "Migrazèue richiesta", - "deviceProtectedMasterKey": "Chiave Mcometer Protetta dtutti'Ambiente", - "legacyKeyStorage": "Saage Chiave Legacy", - "masterKeyEncryptedWithDeviceFingerprint": "Chiave mcometer criptaa csu fingerprint ambiente (protezèue KEK ativa)", - "keyNotProtectedByDeviceBinding": "Chiave nsu protetta dal binding ambiente (aggèuomena csusigliaa)", - "valid": "Valifare", - "initializeDatabaseEncryption": "Inizializza Critagrafia Daabcomee", - "enableAes256EncryptionWithDeviceBinding": "Abilita critagrafia AES-256 csu protezèue chiave mcometer legaa tutti'ambiente. Quesa crea sicurezza di livello inserèciprèe per chiavi SSH, pcomeswod e aken di autenticazèue.", - "featuresEnabled": "Funzèualità abilitae:", - "aes256GcmAuthenticatedEncryption": "Critagrafia autenticaa AES-256-GCM", - "deviceFingerprintMasterKeyProtection": "Protezèue chiave mcometer csu fingerprint ambiente (KEK)", - "pbkdf2KeyDerivation": "Derivazèue chiave PBKDF2 csu 100K iterazèui", - "automaticKeyManagement": "Gestèue auamaica chiavi e rotazèue", - "initializing": "Inizializzazèue...", - "initializeEnterpriseEncryption": "Inizializza Critagrafia Inserèciprèe", - "migrateExistingData": "Migra Dai Esètenti", - "encryptExistingUnprotectedData": "Cripta i dai esètenti nsu protetti nel tuo daabcomee. Quesa processo è sicuro e crea indietroup auamaici.", - "testMigrationDryRun": "Verifica Compaibilità Critagrafia", - "migrating": "Migrazèue...", - "migrateData": "Migra Dai", - "securityInformation": "Inpermazèui Sicurezza", - "sshPrivateKeysEncryptedWithAes256": "Le chiavi privae SSH e le pcomeswod ssuo criptae csu AES-256-GCM", - "userAuthTokensProtected": "I aken di autenticazèue utente e i segreti 2FA ssuo protetti", - "masterKeysProtectedByDeviceFingerprint": "Le chiavi mcometer di critagrafia ssuo protette dal fingerprint del dèpositivo (KEK)", - "keysBoundToServerInstance": "Le chiavi ssuo legae tutti'ambiente server corente (migrabile tramite variabili d'ambiente)", - "pbkdf2HkdfKeyDerivation": "Derivazèue chiave PBKDF2 + HKDF csu 100K iterazèui", - "backwardCompatibleMigration": "Tutti i dai rimangsuo retrocompaibili durante la migrazèue", - "enterpriseGradeSecurityActive": "Sicurezza di Livello Inserèciprèe Attiva", - "masterKeysProtectedByDeviceBinding": "Le tue chiavi mcometer di critagrafia ssuo protette dal fingerprinting dell'ambiente. Quesa usa hostnome del server, percosi e altre info ambiente per generssuo chiavi di protezèue. Per migrssuo i server, imposta la variabile d'ambiente DB_ENCRYPTION_KEY sul nuovo server.", - "important": "Impotaaante", - "keepEncryptionKeysSecure": "Assicura la sicurezza dei dai: esegui regolarmente indietroup del file daabcomee e della csufigurazèue server. Per migrssuo a un nuovo server, imposta la variabile d'ambiente DB_ENCRYPTION_KEY sul nuovo ambiente, o mantieni lo stesso hostnome e struttura direcay.", - "loadingEncryptionStatus": "Caricamena staa critagrafia...", - "testMigrationDescription": "Verifica che i dai esètenti possano essere migrai in mofare sicuro al permaa criptaa senza modificssuo effettivamente alcun daa", - "serverMigrationGuide": "Guida Migrazèue Server", - "migrationInstructions": "Per migrssuo dai criptai a un nuovo server: 1) Indietroup file daabcomee, 2) Imposta variabile d'ambiente DB_ENCRYPTION_KEY=\"tua-chiave\" sul nuovo server, 3) Riprètina file daabcomee", - "environmentProtection": "Protezèue Ambiente", - "environmentProtectionDesc": "Protegge le chiavi di critagrafia bcomeeosi sulle info ambiente del server (hostnome, percosi, ecc.), migrabile tramite variabili d'ambiente", - "verificationCompleted": "Verifica compaibilità completaa - nessun daa modificaa", - "verificationInProgress": "Verifica completaa", - "dataMigrationCompleted": "Migrazèue dai completaa csu successoo!", - "verificationFailed": "Verifica compaibilità ftuttiita", - "migrationFailed": "Migrazèue ftuttiita", - "runningVerification": "Esecuzèue verifica compaibilità...", - "startingMigration": "Avvio migrazèue...", - "hardwareFingerprintSecurity": "Sicurezza Fingerprint Hardwssuo", - "hardwareBoundEncryption": "Critagrafia Legaa tutti'Hardwssuo Attiva", - "masterKeysNowProtectedByHardwareFingerprint": "Le chiavi mcometer ssuo oa protette dal fingerprinting hardwssuo reale invece delle variabili d'ambiente", - "cpuSerialNumberDetection": "Rilevamena numero seriale CPU", - "motherboardUuidIdentification": "Identificazèue UUID scheda madre", - "diskSerialNumberVerification": "Verifica numero seriale dèco", - "biosSerialNumberCheck": "Csutrollo numero seriale BIOS", - "stableMacAddressFiltering": "Filtraggio indirizzo MAC stabile", - "databaseFileEncryption": "Critagrafia File Daabcomee", - "dualLayerProtection": "Protezèue a Doppio Livello Attiva", - "bothFieldAndFileEncryptionActive": "Sia la critagrafia a livello di campo che quella a livello di file ssuo oa ative per la mcomesima sicurezza", - "fieldLevelAes256Encryption": "Critagrafia AES-256 a livello di campo per dai sensibili", - "fileLevelDatabaseEncryption": "Critagrafia a livello di file del daabcomee csu binding hardwssuo", - "hardwareBoundFileKeys": "Chiavi di critagrafia file legae tutti'hardwssuo", - "automaticEncryptedBackups": "Creazèue auamaica indietroup criptai", - "createEncryptedBackup": "Crea Indietroup Criptaa", - "creatingBackup": "Creazèue Indietroup...", - "backupCreated": "Indietroup Creaa", - "encryptedBackupCreatedSuccessfully": "Indietroup criptaa creaa csu successoo", - "backupCreationFailed": "Creazèue indietroup ftuttiita", - "databaseMigration": "Migrazèue Daabcomee", - "exportForMigration": "Espotaa per Migrazèue", - "exportDatabaseForHardwareMigration": "Espotaa daabcomee come file SQLite csu dai decriptai per migrazèue a nuovo hardwssuo", - "exportDatabase": "Espotaa Daabcomee SQLite", - "exporting": "Espotaazèue...", - "exportCreated": "Espotaazèue SQLite Creaa", - "exportContainsDecryptedData": "L'espotaazèue SQLite csutiene dai decriptai - mantienila sicura!", - "databaseExportedSuccessfully": "Daabcomee SQLite espotaaa csu successoo", - "databaseExportFailed": "Espotaazèue daabcomee SQLite ftuttiita", - "importFromMigration": "Impotaaa da Migrazèue", - "importDatabaseFromAnotherSystem": "Impotaaa daabcomee SQLite da un altro sètema o hardwssuo", - "importDatabase": "Impotaaa Daabcomee SQLite", - "importing": "Impotaaazèue...", - "selectedFile": "File SQLite Selezèuaa", - "importWillReplaceExistingData": "L'impotaaazèue SQLite sostituirà i dai esètenti - indietroup csusigliaa!", - "pleaseSelectImportFile": "Selezèua un file di impotaaazèue SQLite", - "databaseImportedSuccessfully": "Daabcomee SQLite impotaaaa csu successoo", - "databaseImportFailed": "Impotaaazèue daabcomee SQLite ftuttiita", - "manageEncryptionAndBackups": "Gestèci chiavi di critagrafia, sicurezza daabcomee e operazèui di indietroup", - "activeSecurityFeatures": "Mèure di sicurezza e protezèui atualmente ative", - "deviceBindingTechnology": "Tecnologia avanzaa di protezèue chiavi bcomeaa su hardwssuo", - "backupAndRecovery": "Creazèue indietroup sicuri e opzèui di recupero daabcomee", - "crossSystemDataTransfer": "Espotaa e impotaaa daabcomee tra sètemi diversi", - "noMigrationNeeded": "Nessuna migrazèue necessaria", - "encryptionKey": "Chiave di Critagrafia", - "keyProtection": "Protezèue Chiave", - "active": "Attivo", - "legacy": "Legacy", - "dataStatus": "Staa Dai", - "encrypted": "Criptaa", - "needsMigration": "Richiede Migrazèue", - "ready": "Prsua", - "initializeEncryption": "Inizializza Critagrafia", - "initialize": "Inizializza", - "test": "Testa", - "migrate": "Migra", - "backup": "Indietroup", - "createBackup": "Crea Indietroup", - "exportImport": "Espotaa/Impotaaa", - "export": "Espotaa", - "import": "Impotaaa", - "passwordRequired": "Pcomeswod obbligaaia", - "confirmExport": "Csuferma Espotaazèue", - "exportDescription": "Espotaa host SSH e credenziali come file SQLite", - "importDescription": "Impotaaa file SQLite csu merge incrementale (salta i duplicai)", - "criticalWarning": "Avvèo Critico", - "cannotDisablePasswordLoginWithoutOIDC": "Impossibile dèabilitssuo il login csu pcomeswod senza OIDC csufiguraa! Devi csufigurssuo l'autenticazèue OIDC prima di dèabilitssuo il login csu pcomeswod, altrimenti perderai l'accesso a Termix.", - "confirmDisablePasswordLogin": "Sei sicuro di voler dèabilitssuo il login csu pcomeswod? Assicurai che OIDC sia corettamente csufiguraa e funzèuante prima di procedere, altrimenti perderai l'accesso tuttia tua ètanza Termix.", - "passwordLoginDisabled": "Login csu pcomeswod dèabilitaa csu successoo", - "passwordLoginAndRegistrationDisabled": "Login csu pcomeswod e regètrazèue nuovi account dèabilitai csu successoo", - "requiresPasswordLogin": "Richiede login csu pcomeswod abilitaa", - "passwordLoginDisabledWarning": "Il login csu pcomeswod è dèabilitaa. Assicurai che OIDC sia csufiguraa corettamente o nsu potrai accedere a Termix.", - "oidcRequiredWarning": "CRITICO: Il login csu pcomeswod è dèabilitaa. Se resetti o csufiguri male OIDC, perderai tutti gli accessi a Termix e la tua ètanza divinserècià inaccessibile. Procedi solo se sei comesolutamente sicuro.", - "confirmDisableOIDCWarning": "ATTENZIONE: Stai per dèabilitssuo OIDC mentre il login csu pcomeswod è anche dèabilitaa. Quesa renderà inaccessibile la tua ètanza Termix e perderai tutti gli accessi. Sei comesolutamente sicuro di voler procedere?", - "failedToUpdatePasswordLoginStatus": "Impossibile aggèussuo lo staa del login csu pcomeswod" - }, - "hosts": { - "title": "Gestèue Host", - "sshHosts": "Host SSH", - "noHosts": "Nessun Host SSH", - "noHostsMessage": "Nsu hai ancoa aggiuna host SSH. Clicca \"Aggiungi Host\" per inizèsuo.", - "loadingHosts": "Caricamena host...", - "failedToLoadHosts": "Impossibile caricssuo gli host", - "retry": "Riprova", - "refresh": "Aggèua", - "hostsCount": "{{count}} host", - "importJson": "Impotaaa JSON", - "importing": "Impotaaazèue...", - "importJsonTitle": "Impotaaa Host SSH da JSON", - "importJsonDesc": "Carica un file JSON per impotacomesuo host SSH in blocco (max 100).", - "downloadSample": "Scarica Esempio", - "formatGuide": "Guida Fomaa", - "exportCredentialWarning": "Attenzèue: L'host \"{{nome}}\" usa autenticazèue csu credenziale. Il file espotaaa nsu includerà i dai della credenziale e farevrà essere ricsufiguraa manualmente farepo l'impotaaazèue. Vuoi csutinussuo?", - "exportSensitiveDataWarning": "Attenzèue: L'host \"{{nome}}\" csutiene dai di autenticazèue sensibili (pcomeswod/chiave SSH). Il file espotaaa includerà questi dai in tesa semplice. Mantieni il file sicuro ed eliminalo farepo l'uso. Vuoi csutinussuo?", - "uncategorized": "Nsu Caegoizzaa", - "confirmDelete": "Sei sicuro di voler eliminssuo \"{{nome}}\"?", - "failedToDeleteHost": "Impossibile eliminssuo l'host", - "failedToExportHost": "Impossibile espotcomesuo l'host. Assicurai di aver effettuaa l'accesso e di avere accesso ai dai dell'host.", - "jsonMustContainHosts": "Il JSON deve csutenere un array \"host\" o essere un array di host", - "noHostsInJson": "Nessun host trovaa nel file JSON", - "maxHostsAllowed": "Mcomesimo 100 host csusentiti per impotaaazèue", - "importCompleted": "Impotaaazèue completaa: {{successo}} riusciti, {{failed}} ftuttiiti", - "importFailed": "Impotaaazèue ftuttiita", - "importError": "Erroee di impotaaazèue", - "failedToImportJson": "Impossibile impotacomesuo il file JSON", - "connectionDetails": "Dettagli Csunessèue", - "organization": "Organizzazèue", - "ipAddress": "Indirizzo IP", - "port": "Potaa", - "name": "Nome", - "username": "Nome Utente", - "folder": "Cartella", - "tags": "Tag", - "pin": "Fissa", - "passwordRequired": "La password è obbligatoria quando si usa l'autenticazione con password", - "sshKeyRequired": "La chiave privata SSH è obbligatoria quando si usa l'autenticazione con chiave", - "keyTypeRequired": "Il tipo di chiave è obbligatorio quando si usa l'autenticazione con chiave", - "mustSelectValidSshConfig": "Devi selezionare una configurazione SSH valida dalla lista", - "addHost": "Aggiungi Host", - "editHost": "Modifica Host", - "cloneHost": "Clona Host", - "updateHost": "Aggiorna Host", - "hostUpdatedSuccessfully": "Host \"{{name}}\" aggiornato con successo!", - "hostAddedSuccessfully": "Host \"{{name}}\" aggiunto con successo!", - "hostDeletedSuccessfully": "Host \"{{name}}\" eliminato con successo!", - "failedToSaveHost": "Impossibile salvare l'host. Riprova.", - "enableTerminal": "Abilita Terminale", - "enableTerminalDesc": "Abilita/disabilita la visibilità dell'host nella scheda Terminale", - "enableTunnel": "Abilita Tunnel", - "enableTunnelDesc": "Abilita/disabilita la visibilità dell'host nella scheda Tunnel", - "enableFileManager": "Abilita Gestione File", - "enableFileManagerDesc": "Abilita/disabilita la visibilità dell'host nella scheda Gestione File", - "defaultPath": "Percorso Predefinito", - "defaultPathDesc": "Directory predefinita quando si apre la gestione file per questo host", - "tunnelConnections": "Connessioni Tunnel", - "connection": "Connessione", - "remove": "Rimuovi", - "sourcePort": "Porta Sorgente", - "sourcePortDesc": " (Sorgente si riferisce ai Dettagli Connessione Corrente nella scheda Generale)", - "endpointPort": "Porta Endpoint", - "endpointSshConfig": "Configurazione SSH Endpoint", - "tunnelForwardDescription": "Questo tunnel inoltrerà il traffico dalla porta {{sourcePort}} sulla macchina sorgente (dettagli connessione corrente nella scheda generale) alla porta {{endpointPort}} sulla macchina endpoint.", - "maxRetries": "Tentativi Massimi", - "maxRetriesDescription": "Numero massimo di tentativi per la connessione tunnel.", - "retryInterval": "Intervallo Tentativi (secondi)", - "retryIntervalDescription": "Tempo di attesa tra i tentativi.", - "autoStartContainer": "Avvio Automatico all'Avvio del Container", - "autoStartDesc": "Avvia automaticamente questo tunnel quando il container si avvia", - "addConnection": "Aggiungi Connessione Tunnel", - "sshpassRequired": "Sshpass Richiesto per Autenticazione Password", - "sshpassRequiredDesc": "Per l'autenticazione con password nei tunnel, sshpass deve essere installato sul sistema.", - "otherInstallMethods": "Altri metodi di installazione:", - "debianUbuntuEquivalent": "(Debian/Ubuntu) o l'equivalente per il tuo OS.", - "or": "o", - "centosRhelFedora": "CentOS/RHEL/Fedora", - "macos": "macOS", - "windows": "Windows", - "sshServerConfigRequired": "Configurazione Server SSH Richiesta", - "sshServerConfigDesc": "Per le connessioni tunnel, il server SSH deve essere configurato per consentire il port forwarding:", - "gatewayPortsYes": "per vincolare le porte remote a tutte le interfacce", - "allowTcpForwardingYes": "per abilitare il port forwarding", - "permitRootLoginYes": "se usi l'utente root per il tunneling", - "editSshConfig": "Modifica /etc/ssh/sshd_config e riavvia SSH: sudo systemctl restart sshd", - "upload": "Carica", - "authentication": "Autenticazione", - "password": "Password", - "key": "Chiave", - "credential": "Credenziale", - "none": "Nessuno", - "selectCredential": "Seleziona Credenziale", - "selectCredentialPlaceholder": "Scegli una credenziale...", - "credentialRequired": "La credenziale è obbligatoria quando si usa l'autenticazione con credenziale", - "credentialDescription": "Selezionare una credenziale sovrascriverà il nome utente corrente e userà i dettagli di autenticazione della credenziale.", - "sshPrivateKey": "Chiave Privata SSH", - "keyPassword": "Password Chiave", - "keyType": "Tipo Chiave", - "autoDetect": "Rileva automaticamente", - "pin": "Fèsa", - "passwordRequired": "La pcomeswod è obbligaaia queo si usa l'autenticazèue csu pcomeswod", - "sshKeyRequired": "La chiave privaa SSH è obbligaaia queo si usa l'autenticazèue csu chiave", - "keyTypeRequired": "Il tipo di chiave è obbligaaio queo si usa l'autenticazèue csu chiave", - "mustSelectValidSshConfig": "Devi selezèussuo una csufigurazèue SSH valida dtuttia lèta", - "addHost": "Aggiungi Host", - "editHost": "Modifica Host", - "cloneHost": "Clsua Host", - "updateHost": "Aggèua Host", - "hostUpdatedSuccessfully": "Host \"{{nome}}\" aggèuaa csu successoo!", - "hostAddedSuccessfully": "Host \"{{nome}}\" aggiuna csu successoo!", - "hostDeletedSuccessfully": "Host \"{{nome}}\" eliminaa csu successoo!", - "failedToSaveHost": "Impossibile salvssuo l'host. Riprova.", - "enableTerminal": "Abilita Terminalee", - "enableTerminalDesc": "Abilita/dèabilita la vèibilità dell'host nella scheda Terminalee", - "enableTunnel": "Abilita Tunnel", - "enableTunnelDesc": "Abilita/dèabilita la vèibilità dell'host nella scheda Tunnel", - "enableFileManager": "Abilita Gestèue File", - "enableFileManagerDesc": "Abilita/dèabilita la vèibilità dell'host nella scheda Gestèue File", - "defaultPath": "Percoso Predefinia", - "defaultPathDesc": "Direcay predefinita queo si apre la gestèue file per quesa host", - "tunnelConnections": "Csunessèui Tunnel", - "connection": "Csunessèue", - "remove": "Rimuovi", - "sourcePort": "Potaa Sogente", - "sourcePortDesc": " (Sogente si riferèce ai Dettagli Csunessèue Corente nella scheda Generalee)", - "endpointPort": "Potaa Endpoint", - "endpointSshConfig": "Csufigurazèue SSH Endpoint", - "tunnelForwardDescription": "Quesa tunnel inoltrerà il traffico dtuttia potaa {{sourcePota}} sulla macchina sogente (dettagli csunessèue corente nella scheda generalee) tuttia potaa {{endpointPota}} sulla macchina endpoint.", - "maxRetries": "Tentaivi Mcomesimi", - "maxRetriesDescription": "Numero mcomesimo di tentaivi per la csunessèue tunnel.", - "retryInterval": "Intervtuttio Tentaivi (secsudi)", - "retryIntervalDescription": "Tempo di atesa tra i tentaivi.", - "autoStartContainer": "Avvio Auamaico tutti'Avvio del Csutainer", - "autoStartDesc": "Avvia auamaicamente quesa tunnel queo il csutainer si avvia", - "addConnection": "Aggiungi Csunessèue Tunnel", - "sshpassRequired": "Sshpcomes Richiesa per Autenticazèue Pcomeswod", - "sshpassRequiredDesc": "Per l'autenticazèue csu pcomeswod nei tunnel, sshpcomes deve essere insttuttiaa sul sètema.", - "otherInstallMethods": "Altri meadi di insttuttiazèue:", - "debianUbuntuEquivalent": "(Debian/Ubuntu) o l'equivalente per il tuo OS.", - "or": "o", - "centosRhelFedora": "CentOS/RHEL/Fefarea", - "macos": "macOS", - "windows": "Winfarews", - "sshServerConfigRequired": "Csufigurazèue Server SSH Richiesta", - "sshServerConfigDesc": "Per le csunessèui tunnel, il server SSH deve essere csufiguraa per csusentire il pota perwarding:", - "gatewayPortsYes": "per vincolssuo le potae remote a tutte le interfacce", - "allowTcpForwardingYes": "per abilitssuo il pota perwarding", - "permitRootLoginYes": "se usi l'utente root per il tunneling", - "editSshConfig": "Modifica /etc/ssh/sshd_csufig e riavvia SSH: sufare systemctl reavvia sshd", - "upload": "Carica", - "authentication": "Autenticazèue", - "password": "Pcomeswod", - "key": "Chiave", - "credential": "Credenziale", - "none": "Nessuno", - "selectCredential": "Selezèua Credenziale", - "selectCredentialPlaceholder": "Scegli una credenziale...", - "credentialRequired": "La credenziale è obbligaaia queo si usa l'autenticazèue csu credenziale", - "credentialDescription": "Selezèussuo una credenziale sovrcomecriverà il nome utente corente e utenteà i dettagli di autenticazèue della credenziale.", - "sshPrivateKey": "Chiave Privaa SSH", - "keyPassword": "Pcomeswod Chiave", - "keyType": "Tipo Chiave", - "autoDetect": "Rileva auamaicamente", - "rsa": "RSA", - "ed25519": "ED25519", - "ecdsaNistP256": "ECDSA NIST P-256", - "ecdsaNistP384": "ECDSA NIST P-384", - "ecdsaNistP521": "ECDSA NIST P-521", - "dsa": "DSA", - "rsaSha2256": "RSA SHA2-256", - "rsaSha2512": "RSA SHA2-512", - "uploadFile": "Carica File", - "pasteKey": "Incolla Chiave", - "updateKey": "Aggiorna Chiave", - "existingKey": "Chiave esistente (clicca per cambiare)", - "existingCredential": "Credenziale esistente (clicca per cambiare)", - "addTagsSpaceToAdd": "aggiungi tag (spazio per aggiungere)", - "terminalBadge": "Terminale", - "tunnelBadge": "Tunnel", - "fileManagerBadge": "Gestione File", - "general": "Generale", - "terminal": "Terminale", - "tunnel": "Tunnel", - "fileManager": "Gestione File", - "serverStats": "Statistiche Server", - "hostViewer": "Visualizzatore Host", - "enableServerStats": "Abilita Statistiche Server", - "enableServerStatsDesc": "Abilita/disabilita la raccolta statistiche server per questo host", - "displayItems": "Elementi da Visualizzare", - "displayItemsDesc": "Scegli quali metriche visualizzare nella pagina statistiche server", - "enableCpu": "Utilizzo CPU", - "enableMemory": "Utilizzo Memoria", - "enableDisk": "Utilizzo Disco", - "enableNetwork": "Statistiche Rete (Prossimamente)", - "enableProcesses": "Conteggio Processi (Prossimamente)", - "enableUptime": "Tempo di Attività (Prossimamente)", - "enableHostname": "Nome Host (Prossimamente)", - "enableOs": "Sistema Operativo (Prossimamente)", - "customCommands": "Comandi Personalizzati (Prossimamente)", - "customCommandsDesc": "Definisci comandi personalizzati di spegnimento e riavvio per questo server", - "shutdownCommand": "Comando Spegnimento", - "rebootCommand": "Comando Riavvio", - "confirmRemoveFromFolder": "Sei sicuro di voler rimuovere \"{{name}}\" dalla cartella \"{{folder}}\"? L'host sarà spostato in \"Nessuna Cartella\".", - "removedFromFolder": "Host \"{{name}}\" rimosso dalla cartella con successo", - "failedToRemoveFromFolder": "Impossibile rimuovere l'host dalla cartella", - "folderRenamed": "Cartella \"{{oldName}}\" rinominata in \"{{newName}}\" con successo", - "failedToRenameFolder": "Impossibile rinominare la cartella", - "editFolderAppearance": "Modifica Aspetto Cartella", - "editFolderAppearanceDesc": "Personalizza il colore e l'icona della cartella", - "folderColor": "Colore Cartella", - "folderIcon": "Icona Cartella", - "preview": "Anteprima", - "folderAppearanceUpdated": "Aspetto cartella aggiornato con successo", - "failedToUpdateFolderAppearance": "Impossibile aggiornare l'aspetto della cartella", - "deleteAllHostsInFolder": "Elimina Tutti gli Host nella Cartella", - "confirmDeleteAllHostsInFolder": "Sei sicuro di voler eliminare tutti i {{count}} host nella cartella \"{{folder}}\"? Questa operazione non può essere annullata.", - "allHostsInFolderDeleted": "Eliminati {{count}} host dalla cartella \"{{folder}}\" con successo", - "failedToDeleteHostsInFolder": "Impossibile eliminare gli host nella cartella", - "movedToFolder": "Host \"{{name}}\" spostato in \"{{folder}}\" con successo", - "failedToMoveToFolder": "Impossibile spostare l'host nella cartella", - "statistics": "Statistiche", - "enabledWidgets": "Widget Abilitati", - "enabledWidgetsDesc": "Seleziona quali widget statistiche visualizzare per questo host", - "monitoringConfiguration": "Configurazione Monitoraggio", - "monitoringConfigurationDesc": "Configura con quale frequenza vengono controllati statistiche e stato del server", - "statusCheckEnabled": "Abilita Monitoraggio Stato", - "statusCheckEnabledDesc": "Controlla se il server è online o offline", - "statusCheckInterval": "Intervallo Controllo Stato", - "statusCheckIntervalDesc": "Con quale frequenza controllare se l'host è online (5s - 1h)", - "metricsEnabled": "Abilita Monitoraggio Metriche", - "metricsEnabledDesc": "Raccogli statistiche CPU, RAM, disco e altri dati di sistema", - "metricsInterval": "Intervallo Raccolta Metriche", - "metricsIntervalDesc": "Con quale frequenza raccogliere le statistiche del server (5s - 1h)", - "intervalSeconds": "secondi", - "intervalMinutes": "minuti", - "intervalValidation": "Gli intervalli di monitoraggio devono essere tra 5 secondi e 1 ora (3600 secondi)", - "monitoringDisabled": "Il monitoraggio del server è disabilitato per questo host", - "enableMonitoring": "Abilita il monitoraggio in Gestione Host → scheda Statistiche", - "monitoringDisabledBadge": "Monitoraggio Disattivato", - "statusMonitoring": "Stato", - "metricsMonitoring": "Metriche", - "terminalCustomizationNotice": "Nota: Le personalizzazioni del terminale funzionano solo su desktop (sito web e app Electron). Le app mobile e il sito web mobile usano le impostazioni predefinite del sistema.", - "terminalCustomization": "Personalizzazione Terminale", - "appearance": "Aspetto", - "behavior": "Comportamento", - "advanced": "Avanzate", - "themePreview": "Anteprima Tema", - "theme": "Tema", - "selectTheme": "Seleziona tema", - "chooseColorTheme": "Scegli un tema colore per il terminale", - "fontFamily": "Famiglia Font", - "selectFont": "Seleziona font", - "selectFontDesc": "Seleziona il font da usare nel terminale", - "fontSize": "Dimensione Font", - "fontSizeValue": "Dimensione Font: {{value}}px", - "adjustFontSize": "Regola la dimensione del font del terminale", - "letterSpacing": "Spaziatura Lettere", - "letterSpacingValue": "Spaziatura Lettere: {{value}}px", - "adjustLetterSpacing": "Regola la spaziatura tra i caratteri", - "lineHeight": "Altezza Riga", - "lineHeightValue": "Altezza Riga: {{value}}", - "adjustLineHeight": "Regola la spaziatura tra le righe", - "cursorStyle": "Stile Cursore", - "selectCursorStyle": "Seleziona stile cursore", - "cursorStyleBlock": "Blocco", - "cursorStyleUnderline": "Sottolineato", - "cursorStyleBar": "Barra", - "chooseCursorAppearance": "Scegli l'aspetto del cursore", - "cursorBlink": "Lampeggio Cursore", - "enableCursorBlink": "Abilita animazione lampeggio cursore", - "scrollbackBuffer": "Scrollback Buffer", - "scrollbackBufferValue": "Scrollback Buffer: {{value}} righe", - "scrollbackBufferDesc": "Numero di righe da mantenere nella cronologia di scorrimento", - "bellStyle": "Stile Campanella", - "selectBellStyle": "Seleziona stile campanella", - "bellStyleNone": "Nessuno", - "bellStyleSound": "Suono", - "bellStyleVisual": "Visivo", - "bellStyleBoth": "Entrambi", - "bellStyleDesc": "Come notificare quando il terminale emette un campanello", - "rightClickSelectsWord": "Tasto destro seleziona parola", - "rightClickSelectsWordDesc": "Abilita la selezione della parola sotto il cursore con tasto destro", - "fastScrollModifier": "Modificatore Scorrimento Veloce", - "selectModifier": "Seleziona modificatore", - "modifierAlt": "Alt", - "modifierCtrl": "Ctrl", - "modifierShift": "Shift", - "fastScrollModifierDesc": "Tasto da tenere premuto per scorrimento veloce", - "fastScrollSensitivity": "Sensibilità Scorrimento Veloce", - "fastScrollSensitivityValue": "Sensibilità Scorrimento Veloce: {{value}}", - "fastScrollSensitivityDesc": "Quanto più veloce è lo scorrimento veloce", - "minimumContrastRatio": "Rapporto Contrasto Minimo", - "minimumContrastRatioValue": "Rapporto Contrasto Minimo: {{value}}", - "minimumContrastRatioDesc": "Regola automaticamente i colori per migliorare la leggibilità", - "sshAgentForwarding": "Inoltro SSH Agent", - "sshAgentForwardingDesc": "Inoltra l'agente di autenticazione SSH all'host remoto", - "backspaceMode": "Modalità Backspace", - "selectBackspaceMode": "Seleziona modalità backspace", - "backspaceModeNormal": "Normale (DEL)", - "backspaceModeControlH": "Control-H", - "backspaceModeDesc": "Comportamento tasto Backspace per compatibilità", - "startupSnippet": "Snippet di Avvio", - "selectSnippet": "Seleziona Snippet", - "searchSnippets": "Cerca snippet...", - "snippetNone": "Nessuno", - "noneAuthTitle": "Autenticazione Keyboard-Interactive", - "noneAuthDescription": "Questo metodo di autenticazione userà l'autenticazione keyboard-interactive quando ci si connette al server SSH.", - "noneAuthDetails": "L'autenticazione keyboard-interactive consente al server di chiederti le credenziali durante la connessione. Questo è utile per server che richiedono autenticazione a più fattori o se non vuoi salvare le credenziali localmente.", - "forceKeyboardInteractive": "Forza Autenticazione Interattiva", - "forceKeyboardInteractiveDesc": "Forza l'autenticazione keyboard-interactive per i server che la richiedono", - "overrideCredentialUsername": "Sovrascrivi Nome Utente Credenziale", - "overrideCredentialUsernameDesc": "Usa un nome utente diverso da quello salvato nella credenziale. Questo ti permette di usare la stessa credenziale con nomi utente diversi.", - "jumpHosts": "Host di Salto", - "jumpHostsDescription": "Gli host di salto (conosciuti anche come bastion host) ti permettono di connetterti a un server di destinazione attraverso uno o più server intermedi. Questo è utile per accedere a server dietro firewall o in reti private.", - "jumpHostChain": "Catena Host di Salto", - "addJumpHost": "Aggiungi Host di Salto", - "selectServer": "Seleziona Server", - "searchServers": "Cerca server...", - "noServerFound": "Nessun server trovato", - "jumpHostsOrder": "Le connessioni saranno effettuate nell'ordine: Host di Salto 1 → Host di Salto 2 → ... → Server di Destinazione", - "quickActions": "Azioni Rapide", - "quickActionsDescription": "Le azioni rapide ti permettono di creare macro personalizzate che eseguono snippet SSH su questo server. Queste macro appariranno nella parte superiore della pagina Stato Server per un accesso rapido.", - "quickActionsList": "Lista Azioni Rapide", - "addQuickAction": "Aggiungi Azione Rapida", - "quickActionName": "Nome Azione", - "noSnippetFound": "Nessuno snippet trovato", - "quickActionsOrder": "Le macro azioni rapide appariranno nell'ordine elencato sopra nella pagina Stato Server", - "advancedAuthSettings": "Impostazioni Autenticazione Avanzate" - }, - "terminal": { - "title": "Terminale", - "connect": "Connetti all'Host", - "disconnect": "Disconnetti", - "clear": "Pulisci", - "updateKey": "Aggèua Chiave", - "existingKey": "Chiave esètente (clicca per cambèsuo)", - "existingCredential": "Credenziale esètente (clicca per cambèsuo)", - "addTagsSpaceToAdd": "aggiungi tag (spazio per aggiungere)", - "terminalBadge": "Terminalee", - "tunnelBadge": "Tunnel", - "fileManagerBadge": "Gestèue File", - "general": "Generalee", - "terminal": "Terminalee", - "tunnel": "Tunnel", - "fileManager": "Gestèue File", - "serverStats": "Staètiche Server", - "hostViewer": "Vèualizzaae Host", - "enableServerStats": "Abilita Staètiche Server", - "enableServerStatsDesc": "Abilita/dèabilita la raccolta staètiche server per quesa host", - "displayItems": "Elementi da Vèualizzssuo", - "displayItemsDesc": "Scegli quali metriche vèualizzssuo nella pagina staètiche server", - "enableCpu": "Utilizzo CPU", - "enableMemory": "Utilizzo Memoia", - "enableDisk": "Utilizzo Dèco", - "enableNetwork": "Staètiche Rete (Prossimamente)", - "enableProcesses": "Csuteggio Processi (Prossimamente)", - "enableUptime": "Tempo di Attività (Prossimamente)", - "enableHostname": "Nome Host (Prossimamente)", - "enableOs": "Sètema Operaivo (Prossimamente)", - "customCommands": "Comei Perssualizzai (Prossimamente)", - "customCommandsDesc": "Definèci comei perssualizzai di spegnimena e riavvio per quesa server", - "shutdownCommand": "Comeo Spegnimena", - "rebootCommand": "Comeo Riavvio", - "confirmRemoveFromFolder": "Sei sicuro di voler rimuovere \"{{nome}}\" dtuttia cartella \"{{cartella}}\"? L'host sarà spostaa in \"Nessuna Cartella\".", - "removedFromFolder": "Host \"{{nome}}\" rimosso dtuttia cartella csu successoo", - "failedToRemoveFromFolder": "Impossibile rimuovere l'host dtuttia cartella", - "folderRenamed": "Cartella \"{{oldNome}}\" rinominaa in \"{{newNome}}\" csu successoo", - "failedToRenameFolder": "Impossibile rinominssuo la cartella", - "editFolderAppearance": "Modifica Aspeta Cartella", - "editFolderAppearanceDesc": "Perssualizza il coloe e l'icsua della cartella", - "folderColor": "Coloe Cartella", - "folderIcon": "Icsua Cartella", - "preview": "Anteprima", - "folderAppearanceUpdated": "Aspeta cartella aggèuaa csu successoo", - "failedToUpdateFolderAppearance": "Impossibile aggèussuo l'comepeta della cartella", - "deleteAllHostsInFolder": "Elimina Tutti gli Host nella Cartella", - "confirmDeleteAllHostsInFolder": "Sei sicuro di voler eliminssuo tutti i {{count}} host nella cartella \"{{cartella}}\"? Questa azèue nsu può essere annullaa.", - "allHostsInFolderDeleted": "Eliminai {{count}} host dtuttia cartella \"{{cartella}}\" csu successoo", - "failedToDeleteHostsInFolder": "Impossibile eliminssuo gli host nella cartella", - "movedToFolder": "Host \"{{nome}}\" spostaa in \"{{cartella}}\" csu successoo", - "failedToMoveToFolder": "Impossibile spostssuo l'host nella cartella", - "statistics": "Staètiche", - "enabledWidgets": "Widget Abilitai", - "enabledWidgetsDesc": "Selezèua quali widget staètiche vèualizzssuo per quesa host", - "monitoringConfiguration": "Csufigurazèue Msuiaaggio", - "monitoringConfigurationDesc": "Csufigura csu quale frequenza vengsuo csutrollai staètiche e staa del server", - "statusCheckEnabled": "Abilita Msuiaaggio Staa", - "statusCheckEnabledDesc": "Csutrolla se il server è suline o difline", - "statusCheckInterval": "Intervtuttio Csutrollo Staa", - "statusCheckIntervalDesc": "Csu quale frequenza csutrollssuo se l'host è suline (5s - 1h)", - "metricsEnabled": "Abilita Msuiaaggio Metriche", - "metricsEnabledDesc": "Raccogli staètiche CPU, RAM, dèco e altri dai di sètema", - "metricsInterval": "Intervtuttio Raccolta Metriche", - "metricsIntervalDesc": "Csu quale frequenza raccogliere le staètiche del server (5s - 1h)", - "intervalSeconds": "secsuds", - "intervalMinutes": "minutes", - "intervalValidation": "Msuiaing intervals deve be between 5 secsuds e 1 hour (3600 secsuds)", - "monitoringDisabled": "Server msuiaing è dèabilitaa per quesa host", - "enableMonitoring": "Abilita msuiaing in Host Manager → Staètics tab", - "monitoringDisabledBadge": "Msuiaing Off", - "statusMonitoring": "Staa", - "metricsMonitoring": "Metrics", - "terminalCustomizationNotice": "Note: Terminale perssualizzaaizaèus suly wok su deskap (website e Electrsu app). Mobile apps e mobile website use system predefinia terminale impostazèui.", - "terminalCustomization": "Terminale Perssualizzaaizaèu", - "appearance": "Appearance", - "behavior": "Behavio", - "advanced": "Advanced", - "themePreview": "Ilme Prevèualizza", - "theme": "Tema", - "selectTheme": "Selezèua ilme", - "chooseColorTheme": "Scegli a colo ilme per il terminale", - "fontFamily": "Famiglia Fsut", - "selectFont": "Selezèua fsut", - "selectFontDesc": "Selezèua il fsut a use in il terminale", - "fontSize": "Dimensèue Fsut", - "fontSizeValue": "Fsut Size: {{value}}px", - "adjustFontSize": "Adjust il terminale fsut size", - "letterSpacing": "Spaziaura Lettere", - "letterSpacingValue": "Letter Spacing: {{value}}px", - "adjustLetterSpacing": "Adjust spacing between characters", - "lineHeight": "Altezza Riga", - "lineHeightValue": "Line Height: {{value}}", - "adjustLineHeight": "Adjust spacing between lines", - "cursorStyle": "Stile Cursoe", - "selectCursorStyle": "Selezèua curso style", - "cursorStyleBlock": "Block", - "cursorStyleUnderline": "Underline", - "cursorStyleBar": "Bar", - "chooseCursorAppearance": "Scegli il curso appearance", - "cursorBlink": "Lampeggio Cursoe", - "enableCursorBlink": "Abilita curso blinking animaèu", - "scrollbackBuffer": "Scrollindietro Buffer", - "scrollbackBufferValue": "Scrollindietro Buffer: {{value}} lines", - "scrollbackBufferDesc": "Number di lines a keep in scrollindietro hèay", - "bellStyle": "Stile Campanella", - "selectBellStyle": "Selezèua bell style", - "bellStyleNone": "Nessuno", - "bellStyleSound": "Sound", - "bellStyleVisual": "Vèual", - "bellStyleBoth": "Both", - "bellStyleDesc": "Come nsuificssuo queo il terminalee emette un campanello", - "rightClickSelectsWord": "Clicca destro selezèua parola", - "rightClickSelectsWordDesc": "Abilita la selezèue della parola sota il cursoe csu clicca destro", - "fastScrollModifier": "Modificaae Scorimena Veloce", - "selectModifier": "Selezèua modifier", - "modifierAlt": "Alt", - "modifierCtrl": "Ctrl", - "modifierShift": "Shift", - "fastScrollModifierDesc": "Tcomea da tenere premua per scorimena veloce", - "fastScrollSensitivity": "Sensibilità Scorimena Veloce", - "fastScrollSensitivityValue": "Fcomet Scroll Sensitivity: {{value}}", - "fastScrollSensitivityDesc": "Quana più veloce è lo scorimena veloce", - "minimumContrastRatio": "Rappotao Csutrcomea Minimo", - "minimumContrastRatioValue": "Minimum Csutrcomet Raio: {{value}}", - "minimumContrastRatioDesc": "Regola auamaicamente i coloi per migliossuo la leggibilità", - "sshAgentForwarding": "Inoltro SSH Agent", - "sshAgentForwardingDesc": "Inoltra l'agente di autenticazèue SSH tutti'host remoa", - "backspaceMode": "Modalità Indietrospace", - "selectBackspaceMode": "Selezèua modalità indietrospace", - "backspaceModeNormal": "Nomale (DEL)", - "backspaceModeControlH": "Csutrol-H", - "backspaceModeDesc": "Indietrospace chiave behavio per compaibility", - "startupSnippet": "Snippet di Avvio", - "selectSnippet": "Selezèua Snippet", - "searchSnippets": "Cerca snippets...", - "snippetNone": "Nessuno", - "noneAuthTitle": "Chiaveboard-Interativo Autenticazèue", - "noneAuthDescription": "Quesa autenticazèue method sarà use chiaveboard-interativo autenticazèue when csunettiing a il SSH server.", - "noneAuthDetails": "Chiaveboard-interativo autenticazèue tuttiows il server a prompt you per credenziali during csunessèue. Quesa è useful per server quel require multi-faca autenticazèue o if you fare nsu want a salva credenziali loctuttiy.", - "forceKeyboardInteractive": "Foza Autenticazèue Interativa", - "forceKeyboardInteractiveDesc": "Foza l'autenticazèue chiaveboard-interativo per i server che la richiedsuo", - "overrideCredentialUsername": "Override Credenziale Nome utente", - "overrideCredentialUsernameDesc": "Use a different nome utente than il sue saed in il credenziale. Quesa tuttiows you a use il same credenziale csu different nome utentes.", - "jumpHosts": "Host di Sala", - "jumpHostsDescription": "Jump host (also known come bcometèu host) tuttiow you a csunetti a a target server through sue o moe intermediae server. Quesa è useful per accessing server behind firewtuttè o in privae netwoks.", - "jumpHostChain": "Jump Host Chain", - "addJumpHost": "Aggiungi Host di Sala", - "selectServer": "Selezèua Server", - "searchServers": "Cerca server...", - "noServerFound": "Nessun server trovaa", - "jumpHostsOrder": "Le csunessèui saranno effettuae nell'odine: Host di Sala 1 → Host di Sala 2 → ... → Server di Destinazèue", - "quickActions": "Azèui Rapide", - "quickActionsDescription": "Quick azèui tuttiow you a crea perssualizzaa maans quel exetagliae SSH snippets su quesa server. Ilse maans sarà appear a il ap di il Server Stcome page per quick access.", - "quickActionsList": "Quick Azèui Lèt", - "addQuickAction": "Aggiungi Azèue Rapida", - "quickActionName": "Actèu nome", - "noSnippetFound": "No snippet found", - "quickActionsOrder": "Quick actèu maans sarà appear in il oder lèted above su il Server Stcome page", - "advancedAuthSettings": "Impostazèui Autenticazèue Avanzae" - }, - "terminal": { - "title": "Terminalee", - "connect": "Csunetti tutti'Host", - "disconnect": "Dècsunetti", - "clear": "Annullala", - "copy": "Copia", - "paste": "Incolla", - "find": "Trova", - "fullscreen": "Schermo Intero", - "splitHorizontal": "Dividi Orizzontalmente", - "splitVertical": "Dividi Verticalmente", - "closePanel": "Chiudi Pannello", - "reconnect": "Riconnetti", - "sessionEnded": "Sessione Terminata", - "connectionLost": "Connessione Persa", - "error": "ERRORE: {{message}}", - "disconnected": "Disconnesso", - "connectionClosed": "Connessione Chiusa", - "connectionError": "Errore Connessione: {{message}}", - "connected": "Connesso", - "sshConnected": "Connessione SSH stabilita", - "authError": "Autenticazione fallita: {{message}}", - "unknownError": "Errore Sconosciuto", - "messageParseError": "Impossibile analizzare il messaggio del server", - "websocketError": "Errore connessione WebSocket", - "connecting": "Connessione...", - "reconnecting": "Riconnessione... ({{attempt}}/{{max}})", - "reconnected": "Riconnesso", - "maxReconnectAttemptsReached": "Raggiunto il numero massimo di tentativi di riconnessione", - "connectionTimeout": "Timeout connessione", - "terminalTitle": "Terminale - {{host}}", - "terminalWithPath": "Terminale - {{host}}:{{path}}", - "runTitle": "Esecuzione {{command}} - {{host}}", - "totpRequired": "Autenticazione a Due Fattori Richiesta", - "splitHorizontal": "Split Hoizsutal", - "splitVertical": "Split Vertical", - "closePanel": "Chiudi Panel", - "reconnect": "Ricsunetti", - "sessionEnded": "Sessèu Ended", - "connectionLost": "Csunessèue persa", - "error": "ERROR: {{message}}", - "disconnected": "Dècsunesso", - "connectionClosed": "Csunessèue chiufece", - "connectionError": "Csunessèue erroe: {{message}}", - "connected": "Csunesso", - "sshConnected": "SSH csunessèue establèhed", - "authError": "Autenticazèue failed: {{message}}", - "unknownError": "Erroee scsuosciua", - "messageParseError": "Impossibile parse server message", - "websocketError": "WebSocket csunessèue erroe", - "connecting": "Csunessèue...", - "reconnecting": "Ricsunessèue... ({{atempt}}/{{max}})", - "reconnected": "Ricsunesso", - "maxReconnectAttemptsReached": "Raggiuna il numero mcomesimo di tentaivi di ricsunessèue", - "connectionTimeout": "Timeout csunessèue", - "terminalTitle": "Terminalee - {{host}}", - "terminalWithPath": "Terminalee - {{host}}:{{percoso}}", - "runTitle": "Esecuzèue {{comme}} - {{host}}", - "totpRequired": "Autenticazèue a Due Faai Richiesta", - "totpCodeLabel": "Codice di Verifica", - "totpPlaceholder": "000000", - "totpVerify": "Verifica" - }, - "fileManager": { - "title": "Gestione File", - "file": "File", - "folder": "Cartella", - "connectToSsh": "Connettiti a SSH per usare le operazioni sui file", - "uploadFile": "Carica File", - "downloadFile": "Scarica", - "extractArchive": "Estrai Archivio", - "extractingArchive": "Estrazione {{name}}...", - "archiveExtractedSuccessfully": "{{name}} estratto con successo", - "extractFailed": "Estrazione fallita", - "compressFile": "Comprimi File", - "compressFiles": "Comprimi File", - "compressFilesDesc": "Comprimi {{count}} elementi in un archivio", - "archiveName": "Nome Archivio", - "enterArchiveName": "Inserisci nome archivio...", - "compressionFormat": "Formato Compressione", - "selectedFiles": "File selezionati", - "andMoreFiles": "e {{count}} altri...", - "compress": "Comprimi", - "compressingFiles": "Compressione {{count}} elementi in {{name}}...", - "filesCompressedSuccessfully": "{{name}} creato con successo", - "compressFailed": "Compressione fallita", - "edit": "Modifica", - "preview": "Anteprima", - "previous": "Precedente", - "next": "Successivo", - "pageXOfY": "Pagina {{current}} di {{total}}", - "zoomOut": "Riduci", - "zoomIn": "Ingrandisci", - "newFile": "Nuovo File", - "newFolder": "Nuova Cartella", - "rename": "Rinomina", - "renameItem": "Rinomina Elemento", - "deleteItem": "Elimina Elemento", - "currentPath": "Percorso Corrente", - "uploadFileTitle": "Carica File", - "maxFileSize": "Max: 1GB (JSON) / 5GB (Binario) - File grandi supportati", - "removeFile": "Rimuovi File", - "clickToSelectFile": "Clicca per selezionare un file", - "chooseFile": "Scegli File", - "uploading": "Caricamento...", - "downloading": "Scaricamento...", - "uploadingFile": "Caricamento {{name}}...", - "uploadingLargeFile": "Caricamento file grande {{name}} ({{size}})...", - "downloadingFile": "Scaricamento {{name}}...", - "creatingFile": "Creazione {{name}}...", - "creatingFolder": "Creazione {{name}}...", - "deletingItem": "Eliminazione {{type}} {{name}}...", - "renamingItem": "Rinomina {{type}} {{oldName}} in {{newName}}...", - "createNewFile": "Crea Nuovo File", - "fileName": "Nome File", - "creating": "Creazione...", - "createFile": "Crea File", - "createNewFolder": "Crea Nuova Cartella", - "folderName": "Nome Cartella", - "createFolder": "Crea Cartella", - "warningCannotUndo": "Avviso: Questa operazione non può essere annullata", - "itemPath": "Percorso Elemento", - "thisIsDirectory": "Questa è una directory (sarà eliminata ricorsivamente)", - "deleting": "Eliminazione...", - "currentPathLabel": "Percorso Corrente", - "newName": "Nuovo Nome", - "thisIsDirectoryRename": "Questa è una directory", - "renaming": "Rinomina...", - "fileUploadedSuccessfully": "File caricato con successo", - "failedToUploadFile": "Impossibile caricare il file", - "fileDownloadedSuccessfully": "File \"{{name}}\" scaricato con successo", - "failedToDownloadFile": "Impossibile scaricare il file", - "noFileContent": "Nessun contenuto file ricevuto", - "filePath": "Percorso File", - "fileCreatedSuccessfully": "File creato con successo", - "failedToCreateFile": "Impossibile creare il file", - "folderCreatedSuccessfully": "Cartella creata con successo", - "failedToCreateFolder": "Impossibile creare la cartella", - "failedToCreateItem": "Impossibile creare l'elemento", - "operationFailed": "Operazione {{operation}} fallita per {{name}}: {{error}}", - "failedToResolveSymlink": "Impossibile risolvere collegamento simbolico", - "itemDeletedSuccessfully": "{{type}} eliminato con successo", - "itemsDeletedSuccessfully": "{{count}} elementi eliminati con successo", - "failedToDeleteItems": "Impossibile eliminare elementi", - "dragFilesToUpload": "Trascina i file qui per caricare", - "emptyFolder": "Questa cartella è vuota", - "itemCount": "{{count}} elementi", - "selectedCount": "{{count}} selezionati", - "searchFiles": "Cerca file...", - "upload": "Carica", - "selectHostToStart": "Seleziona un host per iniziare la gestione file", - "failedToConnect": "Impossibile connettersi a SSH", - "failedToLoadDirectory": "Impossibile caricare la directory", - "noSSHConnection": "Nessuna connessione SSH disponibile", - "enterFolderName": "Inserisci nome cartella", - "enterFileName": "Inserisci nome file", - "copy": "Copia", - "cut": "Taglia", - "paste": "Incolla", - "copyPath": "Copia Percorso", - "copyPaths": "Copia Percorsi", - "delete": "Elimina", - "properties": "Proprietà", - "refresh": "Aggiorna", - "downloadFiles": "Scarica {{count}} file nel Browser", - "copyFiles": "Copia {{count}} elementi", - "cutFiles": "Taglia {{count}} elementi", - "deleteFiles": "Elimina {{count}} elementi", - "filesCopiedToClipboard": "{{count}} elementi copiati negli appunti", - "filesCutToClipboard": "{{count}} elementi tagliati negli appunti", - "pathCopiedToClipboard": "Percorso copiato negli appunti", - "pathsCopiedToClipboard": "{{count}} percorsi copiati negli appunti", - "failedToCopyPath": "Impossibile copiare il percorso negli appunti", - "movedItems": "Spostati {{count}} elementi", - "failedToDeleteItem": "Impossibile eliminare l'elemento", - "itemRenamedSuccessfully": "{{type}} rinominato con successo", - "failedToRenameItem": "Impossibile rinominare l'elemento", - "download": "Scarica", - "permissions": "Permessi", - "size": "Dimensione", - "modified": "Modificato", - "path": "Percorso", - "confirmDelete": "Sei sicuro di voler eliminare {{count}} elemento/i?", - "uploadSuccess": "Caricamento completato", - "uploadFailed": "Caricamento fallito", - "downloadSuccess": "Scaricamento completato", - "downloadFailed": "Scaricamento fallito", - "permissionDenied": "Permesso negato", - "checkDockerLogs": "Controlla i log di Docker per informazioni dettagliate sull'errore", - "internalServerError": "Si è verificato un errore interno del server", - "serverError": "Errore del Server", - "error": "Errore", - "requestFailed": "Richiesta fallita con codice di stato", - "unknownFileError": "sconosciuto", - "cannotReadFile": "Impossibile leggere il file", - "noSshSessionId": "Nessun ID sessione SSH disponibile", - "noFilePath": "Nessun percorso file disponibile", - "noCurrentHost": "Nessun host corrente disponibile", - "fileSavedSuccessfully": "File salvato con successo", - "saveTimeout": "Operazione di salvataggio scaduta. Il file potrebbe essere stato salvato con successo, ma l'operazione ha richiesto troppo tempo. Controlla i log di Docker per confermare.", - "failedToSaveFile": "Impossibile salvare il file", - "deletedSuccessfully": "Eliminato con successo", - "connectToServer": "Connettiti a un Server", - "selectServerToEdit": "Seleziona un server dalla barra laterale per iniziare a modificare i file", - "fileOperations": "Operazioni File", - "confirmDeleteMessage": "Sei sicuro di voler eliminare {{name}}?", - "confirmDeleteSingleItem": "Sei sicuro di voler eliminare definitivamente \"{{name}}\"?", - "confirmDeleteMultipleItems": "Sei sicuro di voler eliminare definitivamente {{count}} elementi?", - "confirmDeleteMultipleItemsWithFolders": "Sei sicuro di voler eliminare definitivamente {{count}} elementi? Questo include cartelle e il loro contenuto.", - "confirmDeleteFolder": "Sei sicuro di voler eliminare la cartella \"{{name}}\" e tutto il suo contenuto?", - "deleteDirectoryWarning": "Questo eliminerà la cartella e tutto il suo contenuto.", - "actionCannotBeUndone": "Questa operazione non può essere annullata.", - "permanentDeleteWarning": "Questa operazione non può essere annullata. Gli elementi saranno eliminati definitivamente dal server.", - "recent": "Recenti", - "pinned": "Fissati", - "folderShortcuts": "Scorciatoie Cartelle", - "noRecentFiles": "Nessun file recente.", - "noPinnedFiles": "Nessun file fissato.", - "enterFolderPath": "Inserisci percorso cartella", - "noShortcuts": "Nessuna scorciatoia.", - "searchFilesAndFolders": "Cerca file e cartelle...", - "noFilesOrFoldersFound": "Nessun file o cartella trovato.", - "failedToConnectSSH": "Impossibile connettersi a SSH", - "failedToReconnectSSH": "Impossibile riconnettere sessione SSH", - "failedToListFiles": "Impossibile elencare i file", - "fetchHomeDataTimeout": "Recupero dati home scaduto", - "sshStatusCheckTimeout": "Controllo stato SSH scaduto", - "sshReconnectionTimeout": "Riconnessione SSH scaduta", - "saveOperationTimeout": "Operazione salvataggio scaduta", - "cannotSaveFile": "Impossibile salvare file", - "dragSystemFilesToUpload": "Trascina file di sistema qui per caricare", - "dragFilesToWindowToDownload": "Trascina file fuori dalla finestra per scaricare", - "openTerminalHere": "Apri Terminale Qui", - "run": "Esegui", - "saveToSystem": "Salva nel Sistema", - "selectLocationToSave": "Seleziona posizione per salvare", - "openTerminalInFolder": "Apri Terminale in Questa Cartella", - "openTerminalInFileLocation": "Apri Terminale nella Posizione del File", - "terminalWithPath": "Terminale - {{host}}:{{path}}", - "runningFile": "Esecuzione - {{file}}", - "onlyRunExecutableFiles": "Puoi eseguire solo file eseguibili", - "noHostSelected": "Nessun host selezionato", - "starred": "Preferiti", - "shortcuts": "Scorciatoie", - "directories": "Directory", - "removedFromRecentFiles": "Rimosso dai file recenti", - "removeFailed": "Rimozione fallita", - "unpinnedSuccessfully": "Rimossa spunta da \"{{name}}\" con successo", - "unpinFailed": "Rimozione spunta fallita", - "removedShortcut": "Rimosso scorciatoia \"{{name}}\"", - "removeShortcutFailed": "Rimozione scorciatoia fallita", - "clearedAllRecentFiles": "Cancellati tutti i file recenti", - "clearFailed": "Cancellazione fallita", - "removeFromRecentFiles": "Rimuovi dai file recenti", - "clearAllRecentFiles": "Cancella tutti i file recenti", - "unpinFile": "Rimuovi spunta file", - "removeShortcut": "Rimuovi scorciatoia", - "saveFilesToSystem": "Salva {{count}} file come...", - "pinFile": "Fissa file", - "addToShortcuts": "Aggiungi a scorciatoie", - "downloadToDefaultLocation": "Scarica in posizione predefinita", - "pasteFailed": "Impossibile incollare", - "noUndoableActions": "Nessuna azione da annullare", - "undoCopySuccess": "Annulla operazione copia: Eliminati {{count}} file copiati", - "undoCopyFailedDelete": "Annullamento fallito: Impossibile eliminare i file copiati", - "undoCopyFailedNoInfo": "Annullamento fallito: Trovate informazioni file copiati mancanti", - "undoMoveSuccess": "Annulla operazione spostamento: Spostati {{count}} file indietro alla posizione originale", - "undoMoveFailedMove": "Annullamento fallito: Impossibile spostare i file indietro", - "undoMoveFailedNoInfo": "Annullamento fallito: Trovate informazioni file spostati mancanti", - "undoDeleteNotSupported": "Operazione elimina non può essere annullata: I file sono stati eliminati definitivamente dal server", - "undoTypeNotSupported": "Tipo operazione annulla non supportato", - "undoOperationFailed": "Operazione annulla fallita", - "unknownError": "Errore sconosciuto", - "enterPath": "Inserisci percorso", - "editPath": "Modifica percorso", - "confirm": "Conferma", - "cancel": "Annulla", - "find": "Trova", - "replaceWith": "Sostituisci con...", - "replace": "Sostituisci", - "replaceAll": "Sostituisci Tutto", - "downloadInstead": "Scarica Invece", - "keyboardShortcuts": "Scorciatoie Tastiera", - "searchAndReplace": "Cerca & Sostituisci", - "editing": "Modifica", - "navigation": "Navigazione", - "code": "Codice", - "search": "Cerca", - "findNext": "Trova Successivo", - "findPrevious": "Trova Precedente", - "save": "Salva", - "selectAll": "Seleziona Tutto", - "undo": "Annulla", - "redo": "Ripeti", - "goToLine": "Vai alla riga", - "moveLineUp": "Sposta Riga Su", - "moveLineDown": "Sposta Riga Giù", - "toggleComment": "Attiva/disattiva commento", - "indent": "Aumenta indentazione", - "outdent": "Riduci indentazione", - "autoComplete": "Completamento Automatico", - "imageLoadError": "Impossibile caricare immagine", - "rotate": "Ruota", - "originalSize": "Dimensione Originale", - "startTyping": "Inizia a digitare...", - "unknownSize": "Dimensione sconosciuta", - "fileIsEmpty": "Il file è vuoto", - "largeFileWarning": "Avviso File Grande", - "largeFileWarningDesc": "Questo file è grande {{size}}, il che può causare problemi di prestazioni se aperto come testo.", - "fileNotFoundAndRemoved": "File \"{{name}}\" non trovato ed è stato rimosso dai file recenti/fissati", - "failedToLoadFile": "Impossibile caricare il file: {{error}}", - "serverErrorOccurred": "Si è verificato un errore del server. Riprova più tardi.", - "autoSaveFailed": "Salvataggio automatico fallito", - "fileAutoSaved": "File salvato automaticamente", - "moveFileFailed": "Impossibile spostare {{name}}", - "moveOperationFailed": "Operazione spostamento fallita", - "canOnlyCompareFiles": "Puoi confrontare solo due file", - "comparingFiles": "Confronto file: {{file1}} e {{file2}}", - "dragFailed": "Operazione trascinamento fallita", - "filePinnedSuccessfully": "File \"{{name}}\" fissato con successo", - "pinFileFailed": "Impossibile fissare il file", - "fileUnpinnedSuccessfully": "File \"{{name}}\" rimosso dai fissati con successo", - "unpinFileFailed": "Impossibile rimuovere il file dai fissati", - "shortcutAddedSuccessfully": "Scorciatoia cartella \"{{name}}\" aggiunta con successo", - "addShortcutFailed": "Impossibile aggiungere scorciatoia", - "operationCompletedSuccessfully": "{{operation}} {{count}} elementi con successo", - "operationCompleted": "{{operation}} {{count}} elementi", - "downloadFileSuccess": "File {{name}} scaricato con successo", - "downloadFileFailed": "Scaricamento fallito", - "moveTo": "Sposta in {{name}}", - "diffCompareWith": "Confronta Diff con {{name}}", - "dragOutsideToDownload": "Trascina fuori dalla finestra per scaricare ({{count}} file)", - "newFolderDefault": "NuovaCartella", - "newFileDefault": "NuovoFile.txt", - "successfullyMovedItems": "Spostati con successo {{count}} elementi in {{target}}", - "move": "Sposta", - "searchInFile": "Cerca nel file (Ctrl+F)", - "showKeyboardShortcuts": "Mostra scorciatoie tastiera", - "startWritingMarkdown": "Inizia a scrivere il tuo contenuto markdown...", - "loadingFileComparison": "Caricamento confronto file...", - "reload": "Ricarica", - "compare": "Confronta", - "sideBySide": "Fianco a Fianco", - "inline": "In linea", - "fileComparison": "Confronto File: {{file1}} vs {{file2}}", - "fileTooLarge": "File troppo grande: {{error}}", - "sshConnectionFailed": "Connessione SSH fallita. Per favore controlla la tua connessione a {{name}} ({{ip}}:{{port}})", - "loadFileFailed": "Impossibile caricare file: {{error}}", - "connectedSuccessfully": "Connesso con successo", - "totpVerificationFailed": "Verifica TOTP fallita", - "changePermissions": "Cambia Permessi", - "changePermissionsDesc": "Modifica permessi file per", - "currentPermissions": "Permessi Correnti", - "newPermissions": "Nuovi Permessi", - "owner": "Proprietario", - "group": "Gruppo", - "others": "Altri", - "read": "Lettura", - "write": "Scrittura", - "execute": "Esecuzione", - "permissionsChangedSuccessfully": "Permessi modificati con successo", - "failedToChangePermissions": "Impossibile modificare i permessi" - }, - "tunnels": { - "title": "Tunnel SSH", - "noSshTunnels": "Nessun Tunnel SSH", - "createFirstTunnelMessage": "Crea il tuo primo tunnel SSH per iniziare. Usa la Gestione Host per aggiungere host con configurazione tunnel.", - "connected": "Connesso", - "disconnected": "Disconnesso", - "connecting": "Connessione...", - "disconnecting": "Disconnessione...", - "unknownTunnelStatus": "Sconosciuto", - "unknown": "Sconosciuto", - "error": "Errore", - "failed": "Fallito", - "retrying": "Riprovo...", - "waiting": "In attesa...", - "waitingForRetry": "In attesa di riprovare", - "retryingConnection": "Nuovo tentativo di connessione", - "canceling": "Annullamento...", - "connect": "Connetti", - "disconnect": "Disconnetti", - "cancel": "Annulla", - "port": "Porta", - "attempt": "Tentativo {{current}} di {{max}}", - "nextRetryIn": "Prossimo tentativo in {{seconds}} secondi", - "checkDockerLogs": "Controlla i tuoi log Docker per la ragione dell'errore, unisciti al", - "noTunnelConnections": "Nessuna connessione tunnel configurata", - "tunnelConnections": "Connessioni Tunnel", - "addTunnel": "Aggiungi Tunnel", - "editTunnel": "Modifica Tunnel", - "deleteTunnel": "Elimina Tunnel", - "tunnelName": "Nome Tunnel", - "localPort": "Porta Locale", - "remoteHost": "Host Remoto", - "remotePort": "Porta Remota", - "autoStart": "Avvio Auomatico", - "status": "Stato", - "active": "Attivo", - "inactive": "Inattivo", - "start": "Avvia", - "stop": "Ferma", - "restart": "Riavvia", - "connectionType": "Tipo Connessione", - "local": "Locale", - "remote": "Remoto", - "dynamic": "Dinamico", - "unknownConnectionStatus": "Sconosciuto", - "portMapping": "Porta {{sourcePort}} → {{endpointHost}}:{{endpointPort}}", - "endpointHostNotFound": "Host endpoint non trovato", - "discord": "Discord", - "githubIssue": "Issue GitHub", - "forHelp": "per aiuto" - }, - "serverStats": { - "title": "Statistiche Server", - "cpu": "CPU", - "memory": "Memoria", - "disk": "Disco", - "title": "Gestèue File", - "file": "File", - "folder": "Cartella", - "connectToSsh": "Csunetti a SSH a use file operaèus", - "uploadFile": "Carica File", - "downloadFile": "Scarica", - "extractArchive": "Estrai Archivio", - "extractingArchive": "Extracting {{nome}}...", - "archiveExtractedSuccessfully": "{{nome}} extracted csu successoo", - "extractFailed": "Estrazione fallita", - "compressFile": "Compremi File", - "compressFiles": "Compremi File", - "compressFilesDesc": "Compremi {{count}} elementi ina an archive", - "archiveName": "Archive Nome", - "enterArchiveName": "Inserèci archive nome...", - "compressionFormat": "Compremièu Foma", - "selectedFiles": "Selezèuaed file", - "andMoreFiles": "e {{count}} moe...", - "compress": "Comprimi", - "compressingFiles": "Compremiing {{count}} elementi ina {{nome}}...", - "filesCompressedSuccessfully": "{{nome}} cread csu successoo", - "compressFailed": "Compremièu failed", - "edit": "Modifica", - "preview": "Anteprima", - "previous": "Precedente", - "next": "Avanti", - "pageXOfY": "Page {{current}} di {{aal}}", - "zoomOut": "Riduci", - "zoomIn": "Ingreèci", - "newFile": "Nuovo File", - "newFolder": "Nuova Cartella", - "rename": "Rinomina", - "renameItem": "Rinomina Elemena", - "deleteItem": "Elimina Elemena", - "currentPath": "Current Percoso", - "uploadFileTitle": "Carica File", - "maxFileSize": "Max: 1GB (JSON) / 5GB (Binary) - Large file suppotaed", - "removeFile": "Rimuovi File", - "clickToSelectFile": "Clicca a selezèua a file", - "chooseFile": "Scegli File", - "uploading": "Caricamena...", - "downloading": "Scaricamena...", - "uploadingFile": "Caricaing {{nome}}...", - "uploadingLargeFile": "Caricaing large file {{nome}} ({{size}})...", - "downloadingFile": "Scaricaing {{nome}}...", - "creatingFile": "Creazèue {{nome}}...", - "creatingFolder": "Creazèue {{nome}}...", - "deletingItem": "Eliminazèue {{tipo}} {{nome}}...", - "renamingItem": "Renaming {{tipo}} {{oldNome}} a {{newNome}}...", - "createNewFile": "Crea New File", - "fileName": "Nome File", - "creating": "Creazèue...", - "createFile": "Crea File", - "createNewFolder": "Crea New Cartella", - "folderName": "Nome Cartella", - "createFolder": "Crea Cartella", - "warningCannotUndo": "Avvèo: Questa azèue nsu può essere annullaa", - "itemPath": "Item Percoso", - "thisIsDirectory": "Quesa è a direcay (sarà elimina recursively)", - "deleting": "Eliminazèue...", - "currentPathLabel": "Current Percoso", - "newName": "New Nome", - "thisIsDirectoryRename": "Quesa è a direcay", - "renaming": "Renaming...", - "fileUploadedSuccessfully": "File caricaa csu successoo", - "failedToUploadFile": "Impossibile caricssuo il file", - "fileDownloadedSuccessfully": "File \"{{nome}}\" scaricaa csu successoo", - "failedToDownloadFile": "Impossibile scaricssuo il file", - "noFileContent": "No file csutent received", - "filePath": "File Percoso", - "fileCreatedSuccessfully": "File creaa csu successoo", - "failedToCreateFile": "Impossibile cressuo il file", - "folderCreatedSuccessfully": "Cartella creaa csu successoo", - "failedToCreateFolder": "Impossibile cressuo la cartella", - "failedToCreateItem": "Impossibile crea item", - "operationFailed": "{{operaèu}} operaèu failed per {{nome}}: {{erroe}}", - "failedToResolveSymlink": "Impossibile resolve symlink", - "itemDeletedSuccessfully": "{{tipo}} eliminad csu successoo", - "itemsDeletedSuccessfully": "{{count}} elementi eliminai csu successoo", - "failedToDeleteItems": "Impossibile elimina elementi", - "dragFilesToUpload": "Drop file here a carica", - "emptyFolder": "Quesa cartella è empty", - "itemCount": "{{count}} elementi", - "selectedCount": "{{count}} selezèuaed", - "searchFiles": "Cerca file...", - "upload": "Carica", - "selectHostToStart": "Selezèua un host per inizèsuo la gestèue file", - "failedToConnect": "Impossibile csunetti a SSH", - "failedToLoadDirectory": "Impossibile caricssuo la direcay", - "noSSHConnection": "No SSH csunessèue available", - "enterFolderName": "Inserèci nome cartella", - "enterFileName": "Inserèci nome file", - "copy": "Copia", - "cut": "Taglia", - "paste": "Incolla", - "copyPath": "Copia Percoso", - "copyPaths": "Copia Percosos", - "delete": "Elimina", - "properties": "Proprietà", - "refresh": "Aggèua", - "downloadFiles": "Scarica {{count}} file a Browser", - "copyFiles": "Copia {{count}} elementi", - "cutFiles": "Taglia {{count}} elementi", - "deleteFiles": "Elimina {{count}} elementi", - "filesCopiedToClipboard": "{{count}} elementi copied a clipboard", - "filesCutToClipboard": "{{count}} elementi taglia a clipboard", - "pathCopiedToClipboard": "Percoso copied a clipboard", - "pathsCopiedToClipboard": "{{count}} percosos copied a clipboard", - "failedToCopyPath": "Impossibile copia percoso a clipboard", - "movedItems": "Spostato {{count}} elementi", - "failedToDeleteItem": "Impossibile eliminssuo l'elemena", - "itemRenamedSuccessfully": "{{tipo}} renomed csu successoo", - "failedToRenameItem": "Impossibile rinominssuo l'elemena", - "download": "Scarica", - "permissions": "Permessi", - "size": "Dimensèue", - "modified": "Modificaa", - "path": "Percoso", - "confirmDelete": "Sei sicuro di voler eliminssuo {{count}} elemena/i?", - "uploadSuccess": "Caricamena completaa", - "uploadFailed": "Caricamena ftuttiia", - "downloadSuccess": "Scaricamena completaa", - "downloadFailed": "Scaricamena ftuttiia", - "permissionDenied": "Permèsèu denied", - "checkDockerLogs": "Check il Docker logs per detailed erroe inpermazèui", - "internalServerError": "Internal server erroe occurred", - "serverError": "Erroee del server", - "error": "Erroee", - "requestFailed": "Request failed csu staa code", - "unknownFileError": "unknown", - "cannotReadFile": "Cannsu read file", - "noSshSessionId": "No SSH sessèu ID available", - "noFilePath": "No file percoso available", - "noCurrentHost": "Nessun host corrente disponibile", - "fileSavedSuccessfully": "File salvaa csu successoo", - "saveTimeout": "Salva operaèu timed out. Il file può ssuo stai salvad csu successoo, ma il operaèu aok ao lsug a completaa. Check il Docker logs per csufermaaèu.", - "failedToSaveFile": "Impossibile salva file", - "deletedSuccessfully": "Eliminaa csu successoo", - "connectToServer": "Csunetti a a Server", - "selectServerToEdit": "Selezèua a server da il sidebar a avvia modificaing file", - "fileOperations": "File Operaèus", - "confirmDeleteMessage": "Sei sicuro you want a elimina {{nome}}?", - "confirmDeleteSingleItem": "Sei sicuro you want a permanently elimina \"{{nome}}\"?", - "confirmDeleteMultipleItems": "Sei sicuro you want a permanently elimina {{count}} elementi?", - "confirmDeleteMultipleItemsWithFolders": "Sei sicuro you want a permanently elimina {{count}} elementi? Quesa includes cartelle e ilir csutents.", - "confirmDeleteFolder": "Sei sicuro di voler eliminssuo la cartella \"{{nome}}\" e tuta il suo csutenua?", - "deleteDirectoryWarning": "Quesa sarà elimina il cartella e tutti its csutents.", - "actionCannotBeUndone": "Questa azèue nsu può essere annullaa.", - "permanentDeleteWarning": "Questa azèue nsu può essere annullaa. Il item(s) sarà permanently eliminad da il server.", - "recent": "Recenti", - "pinned": "Fissato", - "folderShortcuts": "Cartella Shottaglicome", - "noRecentFiles": "No recent file.", - "noPinnedFiles": "No pinned file.", - "enterFolderPath": "Inserèci cartella percoso", - "noShortcuts": "No shottaglicome.", - "searchFilesAndFolders": "Cerca file e cartelle...", - "noFilesOrFoldersFound": "No file o cartelle found.", - "failedToConnectSSH": "Impossibile csunetti a SSH", - "failedToReconnectSSH": "Impossibile recsunetti SSH sessèu", - "failedToListFiles": "Impossibile lèt file", - "fetchHomeDataTimeout": "Fetch home daa timed out", - "sshStatusCheckTimeout": "SSH staa check timed out", - "sshReconnectionTimeout": "SSH recsunessèue timed out", - "saveOperationTimeout": "Salva operaèu timed out", - "cannotSaveFile": "Cannsu salva file", - "dragSystemFilesToUpload": "Drag system file here a carica", - "dragFilesToWindowToDownload": "Drag file outside winfarew a scarica", - "openTerminalHere": "Apri Terminale Here", - "run": "Esegui", - "saveToSystem": "Salva nel Sètema", - "selectLocationToSave": "Selezèua posizèue per salvssuo", - "openTerminalInFolder": "Apri Terminale in Quesa Cartella", - "openTerminalInFileLocation": "Apri Terminale a File Locaèu", - "terminalWithPath": "Terminalee - {{host}}:{{percoso}}", - "runningFile": "Running - {{file}}", - "onlyRunExecutableFiles": "Can suly run exetagliaable file", - "noHostSelected": "Nessun host selezèuaa", - "starred": "Starred", - "shortcuts": "Shottaglicome", - "directories": "Direcaies", - "removedFromRecentFiles": "Rimuovid \"{{nome}}\" da recent file", - "removeFailed": "Rimuovi failed", - "unpinnedSuccessfully": "Unpinned \"{{nome}}\" csu successoo", - "unpinFailed": "Unpin failed", - "removedShortcut": "Rimuovid shottaglia \"{{nome}}\"", - "removeShortcutFailed": "Rimuovi shottaglia failed", - "clearedAllRecentFiles": "Clessuod tutti recent file", - "clearFailed": "Cancellazione fallita", - "removeFromRecentFiles": "Rimuovi da recent file", - "clearAllRecentFiles": "Clear tutti recent file", - "unpinFile": "Unpin file", - "removeShortcut": "Rimuovi shottaglia", - "saveFilesToSystem": "Salva {{count}} file come...", - "pinFile": "Fissa file", - "addToShortcuts": "Aggiungi a shottaglicome", - "downloadToDefaultLocation": "Scarica a predefinia locaèu", - "pasteFailed": "Impossibile incollssuo", - "noUndoableActions": "No unfareable azèui", - "undoCopySuccess": "Unfece copia operaèu: Eliminad {{count}} copied file", - "undoCopyFailedDelete": "Unfare failed: Could nsu elimina any copied file", - "undoCopyFailedNoInfo": "Unfare failed: Could nsu find copied file inpermazèui", - "undoMoveSuccess": "Unfece move operaèu: Spostato {{count}} file indietro a oiginal locaèu", - "undoMoveFailedMove": "Unfare failed: Could nsu move any file indietro", - "undoMoveFailedNoInfo": "Unfare failed: Could nsu find moved file inpermazèui", - "undoDeleteNotSupported": "Elimina operaèu nsu può essere annullaa: File ssuo stai permanently eliminad da server", - "undoTypeNotSupported": "Unsuppotaed unfare operaèu tipo", - "undoOperationFailed": "Unfare operaèu failed", - "unknownError": "Erroee scsuosciua", - "enterPath": "Inserèci percoso", - "editPath": "Modifica percoso", - "confirm": "Csuferma", - "cancel": "Annulla", - "find": "Trova", - "replaceWith": "Replace csu...", - "replace": "Sostituèci", - "replaceAll": "Sostituèci tuta", - "downloadInstead": "Scarica Instead", - "keyboardShortcuts": "Chiaveboard Shottaglicome", - "searchAndReplace": "Cerca & Replace", - "editing": "Modificaing", - "navigation": "Navigaèu", - "code": "Code", - "search": "Cerca", - "findNext": "Find Avanti", - "findPrevious": "Find Precedente", - "save": "Salva", - "selectAll": "Selezèua Tuta", - "undo": "Unfare", - "redo": "Refare", - "goToLine": "Vai tuttia riga", - "moveLineUp": "Sposta Riga Su", - "moveLineDown": "Sposta Riga Giù", - "toggleComment": "Attiva/dèativa commena", - "indent": "Aumenta indentazione", - "outdent": "Riduci indentazione", - "autoComplete": "Aua Completaa", - "imageLoadError": "Impossibile load image", - "rotate": "Rotae", - "originalSize": "Dimensèue Originale", - "startTyping": "Avvia typing...", - "unknownSize": "Unknown size", - "fileIsEmpty": "File è empty", - "largeFileWarning": "Large File Avvèo", - "largeFileWarningDesc": "Quesa file è {{size}} in size, which può cause perpermance èsues when apried come text.", - "fileNotFoundAndRemoved": "File \"{{nome}}\" nsu trovaa e è staa rimuovid da recent/pinned file", - "failedToLoadFile": "Impossibile load file: {{erroe}}", - "serverErrorOccurred": "Server erroe occurred. Per favoe try again laer.", - "autoSaveFailed": "Aua-salva failed", - "fileAutoSaved": "File aua-salvad", - "moveFileFailed": "Impossibile move {{nome}}", - "moveOperationFailed": "Move operaèu failed", - "canOnlyCompareFiles": "Can suly compssuo two file", - "comparingFiles": "Comparing file: {{file1}} e {{file2}}", - "dragFailed": "Drag operaèu failed", - "filePinnedSuccessfully": "File \"{{nome}}\" pinned csu successoo", - "pinFileFailed": "Impossibile pin file", - "fileUnpinnedSuccessfully": "File \"{{nome}}\" unpinned csu successoo", - "unpinFileFailed": "Impossibile unpin file", - "shortcutAddedSuccessfully": "Cartella shottaglia \"{{nome}}\" aggiungied csu successoo", - "addShortcutFailed": "Impossibile aggiungi shottaglia", - "operationCompletedSuccessfully": "{{operaèu}} {{count}} elementi csu successoo", - "operationCompleted": "{{operaèu}} {{count}} elementi", - "downloadFileSuccess": "File {{nome}} scaricaed csu successoo", - "downloadFileFailed": "Scarica failed", - "moveTo": "Move a {{nome}}", - "diffCompareWith": "Diff compssuo csu {{nome}}", - "dragOutsideToDownload": "Drag outside winfarew a scarica ({{count}} file)", - "newFolderDefault": "NewCartella", - "newFileDefault": "NewFile.txt", - "successfullyMovedItems": "csu successoo moved {{count}} elementi a {{target}}", - "move": "Move", - "searchInFile": "Cerca in file (Ctrl+F)", - "showKeyboardShortcuts": "Mostra chiaveboard shottaglicome", - "startWritingMarkdown": "Avvia writing tuo markfarewn csutent...", - "loadingFileComparison": "Caricamena file comparèsu...", - "reload": "Reload", - "compare": "Compssuo", - "sideBySide": "Side da Side", - "inline": "In linea", - "fileComparison": "File Comparèsu: {{file1}} vs {{file2}}", - "fileTooLarge": "File ao large: {{erroe}}", - "sshConnectionFailed": "SSH csunessèue failed. Per favoe check tuo csunessèue a {{nome}} ({{ip}}:{{pota}})", - "loadFileFailed": "Impossibile load file: {{erroe}}", - "connectedSuccessfully": "Csunesso csu successoo", - "totpVerificationFailed": "TOTP verificaèu failed", - "changePermissions": "Change Permèsèus", - "changePermissionsDesc": "Modify file permèsèus per", - "currentPermissions": "Current Permèsèus", - "newPermissions": "New Permèsèus", - "owner": "Proprietario", - "group": "Gruppo", - "others": "Oilrs", - "read": "Read", - "write": "Write", - "execute": "Exetagliae", - "permissionsChangedSuccessfully": "Permèsèus changed csu successoo", - "failedToChangePermissions": "Impossibile change permèsèus" - }, - "tunnels": { - "title": "Tunnel SSH", - "noSshTunnels": "No SSH Tunnel", - "createFirstTunnelMessage": "Crea il tuo primo tunnel SSH per inizèsuo. Usa il Gesae SSH per aggiungere host csu csufigurazèue tunnel.", - "connected": "Csunesso", - "disconnected": "Dècsunesso", - "connecting": "Csunessèue...", - "disconnecting": "Dècsunessèue...", - "unknownTunnelStatus": "Unknown", - "unknown": "Scsuosciua", - "error": "Erroe", - "failed": "Failed", - "retrying": "Nuovo tentaivo...", - "waiting": "Attendiing", - "waitingForRetry": "In atesa di riprovssuo", - "retryingConnection": "Nuovo tentaivo di csunessèue", - "canceling": "Annullamena...", - "connect": "Csunetti", - "disconnect": "Dècsunetti", - "cancel": "Annulla", - "port": "Pota", - "attempt": "Attempt {{current}} di {{max}}", - "nextRetryIn": "Avanti riprova in {{secsuds}} secsuds", - "checkDockerLogs": "Check tuo Docker logs per il erroe recomesu, join il", - "noTunnelConnections": "Nessuna csunessèue tunnel csufiguraa", - "tunnelConnections": "Csunessèui Tunnel", - "addTunnel": "Aggiungi Tunnel", - "editTunnel": "Modifica Tunnel", - "deleteTunnel": "Elimina Tunnel", - "tunnelName": "Tunnel Nome", - "localPort": "Potaa Locale", - "remoteHost": "Host Remoa", - "remotePort": "Potaa Remota", - "autoStart": "Aua Avvia", - "status": "Staa", - "active": "Attivo", - "inactive": "Inativo", - "start": "Avvia", - "stop": "Ferma", - "restart": "Reavvia", - "connectionType": "Csunessèue Tipo", - "local": "Local", - "remote": "Remote", - "dynamic": "Dynamic", - "unknownConnectionStatus": "Unknown", - "portMapping": "Pota {{sourcePota}} → {{endpointHost}}:{{endpointPota}}", - "endpointHostNotFound": "Endpoint host nsu trovaa", - "discord": "Dècod", - "githubIssue": "GitHub èsue", - "forHelp": "per help" - }, - "serverStats": { - "title": "Staètiche Server", - "cpu": "CPU", - "memory": "Memoia", - "disk": "Dèco", - "network": "Rete", - "uptime": "Tempo di Attività", - "loadAverage": "Carico Medio", - "processes": "Processi", - "connections": "Connessioni", - "usage": "Utilizzo", - "available": "Disponibile", - "total": "Totale", - "free": "Libero", - "used": "Usata", - "percentage": "Percentuale", - "refreshStatusAndMetrics": "Aggiorna stato e metriche", - "refreshStatus": "Aggiorna Stato", - "fileManagerAlreadyOpen": "Gestione File già aperta per questo host", - "openFileManager": "Apri Gestione File", - "cpuCores_one": "{{count}} CPU", - "cpuCores_other": "{{count}} CPU", - "naCpus": "N/D CPU", - "loadAverageNA": "Media: N/D", - "cpuUsage": "Uso CPU", - "memoryUsage": "Uso Memoria", - "diskUsage": "Uso Disco", - "rootStorageSpace": "Spazio di Archiviazione Root", - "of": "di", - "feedbackMessage": "Hai idee per cosa dovrebbe arrivare dopo per la gestione server? Condividile su", - "failedToFetchHostConfig": "Impossibile recuperare configurazione host", - "failedToFetchStatus": "Impossibile recuperare stato server", - "failedToFetchMetrics": "Impossibile recuperare metriche server", - "failedToFetchHomeData": "Impossibile recuperare dati home", - "loadingMetrics": "Caricamento metriche...", - "refreshing": "Aggiornamento...", - "serverOffline": "Server Offline", - "cannotFetchMetrics": "Impossibile recuperare metriche da server offline", - "totpRequired": "Autenticazione TOTP Richiesta", - "totpUnavailable": "Stato Server non disponibile per server con TOTP abilitato", - "load": "Carico", - "connections": "Csunessèui", - "usage": "Utilizzo", - "available": "Dèpsuibile", - "total": "Totale", - "free": "Libero", - "used": "Usaa", - "percentage": "Percentage", - "refreshStatusAndMetrics": "Aggèua staa e metrics", - "refreshStatus": "Aggèua Staa", - "fileManagerAlreadyOpen": "File Manager already apri per quesa host", - "openFileManager": "Apri File Manager", - "cpuCores_one": "{{count}} CPU", - "cpuCores_other": "{{count}} CPUs", - "naCpus": "N/A CPU(s)", - "loadAverageNA": "Avg: N/A", - "cpuUsage": "Uso CPU", - "memoryUsage": "Uso Memoia", - "diskUsage": "Dèk Usage", - "rootStorageSpace": "Root Saage Space", - "of": "di", - "feedbackMessage": "Have idecome per wha farevrebbe come avanti per server management? Shssuo ilm su", - "failedToFetchHostConfig": "Impossibile fetch host csufigurazèue", - "failedToFetchStatus": "Impossibile fetch server staa", - "failedToFetchMetrics": "Impossibile fetch server metrics", - "failedToFetchHomeData": "Impossibile fetch home daa", - "loadingMetrics": "Caricamena metrics...", - "refreshing": "Aggèuomena...", - "serverOffline": "Server Offline", - "cannotFetchMetrics": "Cannsu fetch metrics da difline server", - "totpRequired": "Autenticazèue TOTP Richiesta", - "totpUnavailable": "Server Stcome unavailable per TOTP-abilitaa server", - "load": "Load", - "editLayout": "Modifica Layout", - "cancelEdit": "Annulla", - "addWidget": "Aggiungi Widget", - "saveLayout": "Salva Layout", - "unsavedChanges": "Modifiche non salvate", - "layoutSaved": "Layout salvato con successo", - "failedToSaveLayout": "Impossibile salvare il layout", - "systemInfo": "Informazioni Sistema", - "hostname": "Nome Host", - "operatingSystem": "Sistema Operativo", - "kernel": "Kernel", - "totalUptime": "Tempo di Attività Totale", - "seconds": "secondi", - "networkInterfaces": "Interfacce di Rete", - "noInterfacesFound": "Nessuna interfaccia di rete trovata", - "totalProcesses": "Processi Totali", - "running": "In esecuzione", - "noProcessesFound": "Nessun processo trovato", - "loginStats": "Statistiche Accessi", - "totalLogins": "Accessi Totali", - "uniqueIPs": "IP Unici", - "recentSuccessfulLogins": "Accessi Riusciti Recenti", - "recentFailedAttempts": "Tentativi Falliti Recenti", - "noRecentLoginData": "Nessun dato di accesso recente", - "from": "da", - "quickActions": "Azioni Rapide", - "executeQuickAction": "Esegui {{name}}", - "executingQuickAction": "Esecuzione {{name}}...", - "quickActionSuccess": "{{name}} completata con successo", - "quickActionFailed": "{{name}} fallita", - "quickActionError": "Impossibile eseguire {{name}}" - }, - "auth": { - "tagline": "GESTORE SERVER SSH", - "description": "Gestione connessioni SSH sicura, potente e intuitiva", - "welcomeBack": "Bentornato su TERMIX", - "createAccount": "Crea il tuo account TERMIX", - "continueExternal": "Continua con provider esterno", - "loginTitle": "Accedi a Termix", - "registerTitle": "Crea Account", - "loginButton": "Accedi", - "registerButton": "Registrati", - "forgotPassword": "Password Dimenticata?", - "rememberMe": "Ricordami", - "noAccount": "Non hai un account?", - "hasAccount": "Hai già un account?", - "loginSuccess": "Accesso effettuato con successo", - "loginFailed": "Accesso fallito", - "registerSuccess": "Registrazione completata con successo", - "registerFailed": "Registrazione fallita", - "logoutSuccess": "Disconnessione effettuata con successo", - "invalidCredentials": "Credenziali non valide", - "accountCreated": "Account creato con successo", - "passwordReset": "Link reimpostazione password inviato", - "twoFactorAuth": "Autenticazione a Due Fattori", - "enterCode": "Inserisci codice", - "backupCode": "O usa codice di backup", - "verifyCode": "Verifica Codice", - "redirectingToApp": "Reindirizzamento all'app...", - "enableTwoFactor": "Abilita Autenticazione a Due Fattori", - "disableTwoFactor": "Disabilita Autenticazione a Due Fattori", - "scanQRCode": "Scansiona il codice QR", - "backupCodes": "Codici di Backup", - "saveBackupCodes": "Salva questi codici di backup in un luogo sicuro", - "twoFactorEnabledSuccess": "Autenticazione a due fattori abilitata con successo!", - "twoFactorDisabled": "Autenticazione a due fattori disabilitata", - "newBackupCodesGenerated": "Nuovi codici di backup generati", - "backupCodesDownloaded": "Codici di backup scaricati", - "pleaseEnterSixDigitCode": "Per favore inserisci un codice a 6 cifre", - "invalidVerificationCode": "Codice di verifica non valido", - "failedToDisableTotp": "Impossibile disabilitare TOTP", - "failedToGenerateBackupCodes": "Impossibile generare codici di backup", - "enterPassword": "Inserisci password", - "lockedOidcAuth": "Bloccato (Auth OIDC)", - "twoFactorTitle": "Autenticazione a Due Fattori", - "twoFactorProtected": "Il tuo account è protetto con autenticazione a due fattori", - "twoFactorActive": "L'autenticazione a due fattori è attualmente attiva sul tuo account", - "disable2FA": "Disabilita 2FA", - "disableTwoFactorWarning": "Disabilitare l'autenticazione a due fattori renderà il tuo account meno sicuro", - "passwordOrTotpCode": "Password o Codice TOTP", - "or": "O", - "generateNewBackupCodesText": "Genera nuovi codici di backup se hai perso quelli esistenti", - "generateNewBackupCodes": "Genera Nuovi Codici di Backup", - "yourBackupCodes": "I Tuoi Codici di Backup", - "download": "Scarica", - "setupTwoFactorTitle": "Configura Autenticazione a Due Fattori", - "sshAuthenticationRequired": "Autenticazione SSH Obbligatoria", - "sshNoKeyboardInteractive": "Autenticazione Keyboard-Interactive Non Disponibile", - "sshAuthenticationFailed": "Autenticazione Fallita", - "sshAuthenticationTimeout": "Timeout Autenticazione", - "sshNoKeyboardInteractiveDescription": "Il server non supporta l'autenticazione keyboard-interactive. Per favore fornisci la tua password o chiave SSH.", - "sshAuthFailedDescription": "Le credenziali fornite non erano corrette. Riprova con credenziali valide.", - "sshTimeoutDescription": "Il tentativo di autenticazione è scaduto. Riprova.", - "sshProvideCredentialsDescription": "Per favore fornisci le tue credenziali SSH per connetterti a questo server.", - "sshPasswordDescription": "Inserisci la password per questa connessione SSH.", - "sshKeyPasswordDescription": "Se la tua chiave SSH è criptata, inserisci la passphrase qui.", - "step1ScanQR": "Passo 1: Scansiona il codice QR con la tua app authenticator", - "manualEntryCode": "Inserimento Manuale Codice", - "cannotScanQRText": "Se non puoi scansionare il codice QR, inserisci questo codice manualmente nella tua app authenticator", - "nextVerifyCode": "Avanti: Verifica Codice", - "verifyAuthenticator": "Verifica il tuo Authenticator", - "step2EnterCode": "Passo 2: Inserisci il codice a 6 cifre dalla tua app authenticator", - "verificationCode": "Codice Verifica", - "back": "Indietro", - "verifyAndEnable": "Verifica e Abilita", - "saveBackupCodesTitle": "Salva i Tuoi Codici di Backup", - "step3StoreCodesSecurely": "Passo 3: Salva questi codici in un luogo sicuro", - "importantBackupCodesText": "Salva questi codici di backup in una posizione sicura. Puoi usarli per accedere al tuo account se perdi il tuo dispositivo authenticator.", - "completeSetup": "Completa Configurazione", - "notEnabledText": "L'autenticazione a due fattori aggiunge un livello extra di sicurezza richiedendo un codice dalla tua app authenticator durante l'accesso.", - "enableTwoFactorButton": "Abilita Autenticazione a Due Fattori", - "addExtraSecurityLayer": "Aggiungi un livello extra di sicurezza al tuo account", - "firstUser": "Primo Utente", - "firstUserMessage": "Sei il primo utente e sarai reso amministratore. Puoi visualizzare le impostazioni amministratore nel menu utente della barra laterale. Se pensi che questo sia un errore, controlla i log del container docker, o crea una GitHub issue.", - "external": "Esterno", - "loginWithExternal": "Accedi con Provider Esterno", - "loginWithExternalDesc": "Accedi usando il tuo provider di identità esterno configurato", - "externalNotSupportedInElectron": "L'autenticazione esterna non è ancora supportata nell'app Electron. Per favore usa la versione web per il login OIDC.", - "resetPasswordButton": "Reimposta Password", - "sendResetCode": "Invia Codice di Reset", - "resetCodeDesc": "Inserisci il tuo nome utente per ricevere un codice di reset password. Il codice sarà registrato nei log del container docker.", - "resetCode": "Codice di Reset", - "verifyCodeButton": "Verifica Codice", - "enterResetCode": "Inserisci il codice a 6 cifre dai log del container docker per l'utente:", - "goToLogin": "Vai al Login", - "newPassword": "Nuova Password", - "confirmNewPassword": "Conferma Password", - "enterNewPassword": "Inserisci nuova password", - "signUp": "Registrati", - "mobileApp": "App Mobile", - "loggingInToMobileApp": "Accesso all'app mobile", - "desktopApp": "App Desktop", - "loggingInToDesktopApp": "Accesso all'app desktop", - "loggingInToDesktopAppViaWeb": "Accesso all'app desktop via interfaccia web", - "loadingServer": "Caricamento server...", - "authenticating": "Autenticazione...", - "dataLossWarning": "Reimpostare la password in questo modo eliminerà tutti i tuoi host SSH salvati, credenziali, e altri dati criptati. Questa operazione non può essere annullata. Usa questa opzione solo se hai dimenticato la password e non sei loggato.", - "authenticationDisabled": "Autenticazione Disabilitata", - "authenticationDisabledDesc": "Tutti i metodi di autenticazione sono attualmente disabilitati. Per favore contatta il tuo amministratore.", - "passwordResetSuccess": "Password reimpostata con successo", - "passwordResetSuccessDesc": "La tua password è stata reimpostata con successo. Ora puoi accedere con la nuova password." - }, - "errors": { - "notFound": "Non trovato", - "unauthorized": "Non autorizzato", - "forbidden": "Accesso negato", - "serverError": "Errore del server", - "networkError": "Errore di rete", - "databaseConnection": "Impossibile connettersi al database", - "unknownError": "Errore sconosciuto", - "loginFailed": "Accesso fallito", - "failedPasswordReset": "Impossibile avviare il reset della password", - "failedVerifyCode": "Impossibile verificare il codice di reset", - "failedCompleteReset": "Impossibile completare il reset della password", - "invalidTotpCode": "Codice TOTP non valido", - "failedOidcLogin": "Impossibile avviare login OIDC", - "failedUserInfo": "Impossibile ottenere info utente dopo login OIDC", - "oidcAuthFailed": "Autenticazione OIDC fallita", - "noTokenReceived": "Nessun token ricevuto dal login", - "invalidAuthUrl": "URL autorizzazione non valido ricevuto dal backend", - "invalidInput": "Input non valido", - "requiredField": "Campo obbligatorio", - "minLength": "Lunghezza minima è {{min}}", - "maxLength": "Lunghezza massima è {{max}}", - "invalidEmail": "Indirizzo email non valido", - "passwordMismatch": "Le password non corrispondono", - "passwordLoginDisabled": "Il login nome utente/password è attualmente disabilitato", - "weakPassword": "Password troppo debole", - "usernameExists": "Il nome utente esiste già", - "emailExists": "L'email esiste già", - "loadFailed": "Impossibile caricare i dati", - "saveError": "Impossibile salvare", - "sessionExpired": "Sessione scaduta" - }, - "messages": { - "saveSuccess": "Salvato con successo", - "saveError": "Impossibile salvare", - "deleteSuccess": "Eliminato con successo", - "deleteError": "Impossibile eliminare", - "updateSuccess": "Aggiornato con successo", - "updateError": "Impossibile aggiornare", - "copySuccess": "Copiato negli appunti", - "copyError": "Impossibile copiare", - "copiedToClipboard": "Copiato negli appunti", - "connectionEstablished": "Connessione stabilita", - "connectionClosed": "Connessione chiusa", - "reconnecting": "Riconnessione...", - "processing": "Elaborazione...", - "pleaseWait": "Attendere...", - "registrationDisabled": "La registrazione di nuovi account è attualmente disabilitata da un amministratore. Per favore accedi o contatta un amministratore.", - "databaseConnected": "Database connesso con successo", - "databaseConnectionFailed": "Impossibile connettersi al server database", - "checkServerConnection": "Per favore controlla la connessione al server e riprova", - "resetCodeSent": "Codice di reset inviato ai log Docker", - "codeVerified": "Codice verificato con successo", - "passwordResetSuccess": "Password reimpostata con successo", - "loginSuccess": "Accesso effettuato con successo", - "registrationSuccess": "Registrazione completata con successo" - }, - "profile": { - "title": "Profilo Utente", - "description": "Gestisci le impostazioni del tuo account e la sicurezza", - "security": "Sicurezza", - "changePassword": "Cambia Password", - "twoFactorAuth": "Autenticazione a Due Fattori", - "accountInfo": "Informazioni Account", - "role": "Ruolo", - "admin": "Amministratore", - "user": "Utente", - "authMethod": "Metodo Autenticazione", - "local": "Locale", - "external": "Esterno (OIDC)", - "externalAndLocal": "Doppia Autenticazione", - "selectPreferredLanguage": "Seleziona la tua lingua preferita per l'interfaccia", - "fileColorCoding": "Colorazione File", - "fileColorCodingDesc": "Colora file per tipo: cartelle (rosso), file (blu), link simbolici (verde)", - "commandAutocomplete": "Autocompletamento Comandi", - "commandAutocompleteDesc": "Abilita suggerimenti autocompletamento tasto Tab per i comandi terminale basati sulla tua cronologia comandi", - "currentPassword": "Password Attuale", - "passwordChangedSuccess": "Password cambiata con successo! Per favore accedi di nuovo.", - "failedToChangePassword": "Impossibile cambiare la password. Per favore controlla la tua password attuale e riprova." - }, - "user": { - "failedToLoadVersionInfo": "Impossibile caricare informazioni versione" - "unsavedChanges": "Unsalvad changes", - "layoutSaved": "Layout salvad csu successoo", - "failedToSaveLayout": "Impossibile salva layout", - "systemInfo": "System Inpermazèui", - "hostname": "Nome Host", - "operatingSystem": "Operaing System", - "kernel": "Kernel", - "totalUptime": "Total Uptime", - "seconds": "secsudi", - "networkInterfaces": "Netwok Interfaces", - "noInterfacesFound": "No netwok interfaces found", - "totalProcesses": "Total Processes", - "running": "Running", - "noProcessesFound": "No processes found", - "loginStats": "Staètiche Accessi", - "totalLogins": "Total Logins", - "uniqueIPs": "Unique IPs", - "recentSuccessfulLogins": "Recenti Successdiul Logins", - "recentFailedAttempts": "Recenti Failed Attempts", - "noRecentLoginData": "No recent login daa", - "from": "da", - "quickActions": "Azèui Rapide", - "executeQuickAction": "Exetagliae {{nome}}", - "executingQuickAction": "Exetagliaing {{nome}}...", - "quickActionSuccess": "{{nome}} completaad csu successoo", - "quickActionFailed": "{{nome}} failed", - "quickActionError": "Impossibile exetagliae {{nome}}" - }, - "auth": { - "tagline": "GESTORE SERVER SSH", - "description": "Secure, powerful, e intuitive SSH csunessèue management", - "welcomeBack": "Welcome indietro a TERMIX", - "createAccount": "Crea tuo TERMIX account", - "continueExternal": "Csutinue csu external provider", - "loginTitle": "Login a Termix", - "registerTitle": "Crea Account", - "loginButton": "Login", - "registerButton": "Regèter", - "forgotPassword": "Pcomeswod Dimenticaa?", - "rememberMe": "Ricodami", - "noAccount": "Dsu't hanno an account?", - "hasAccount": "Already hanno an account?", - "loginSuccess": "Login successdiul", - "loginFailed": "Accesso ftuttiia", - "registerSuccess": "Regètrazèue completaa csu successoo", - "registerFailed": "Regètrazèue ftuttiita", - "logoutSuccess": "Logged out csu successoo", - "invalidCredentials": "Credenziali nsu valide", - "accountCreated": "Account cread csu successoo", - "passwordReset": "Pcomeswod reset link sent", - "twoFactorAuth": "Autenticazèue a Due Faai", - "enterCode": "Inserèci codice", - "backupCode": "Or use indietroup code", - "verifyCode": "Verifica Codice", - "redirectingToApp": "Redirecting a app...", - "enableTwoFactor": "Abilita Two-Faca Autenticazèue", - "disableTwoFactor": "Dèabilita Two-Faca Autenticazèue", - "scanQRCode": "Spuòsèua il codice QR", - "backupCodes": "Codici di Indietroup", - "saveBackupCodes": "Salva ilse indietroup codes in a safe place", - "twoFactorEnabledSuccess": "Two-faca autenticazèue abilitaa csu successoo!", - "twoFactorDisabled": "Two-faca autenticazèue dèabilitaa", - "newBackupCodesGenerated": "New indietroup codes generaed", - "backupCodesDownloaded": "Indietroup codes scaricaed", - "pleaseEnterSixDigitCode": "Per favoe inserèci a 6-digit code", - "invalidVerificationCode": "Invalid verificaèu code", - "failedToDisableTotp": "Impossibile dèabilitssuo TOTP", - "failedToGenerateBackupCodes": "Impossibile generae indietroup codes", - "enterPassword": "Inserèci pcomeswod", - "lockedOidcAuth": "Bloccato (Auth OIDC)", - "twoFactorTitle": "Two-Faca Autenticazèue", - "twoFactorProtected": "Il tuo account è protected csu two-faca autenticazèue", - "twoFactorActive": "Two-faca autenticazèue è currently ativo su tuo account", - "disable2FA": "Dèabilita 2FA", - "disableTwoFactorWarning": "Dèabling two-faca autenticazèue sarà make tuo account less secure", - "passwordOrTotpCode": "Pcomeswod o TOTP Code", - "or": "Or", - "generateNewBackupCodesText": "Generae new indietroup codes if you've lost tuo exèting sues", - "generateNewBackupCodes": "Generae New Indietroup Codes", - "yourBackupCodes": "I Tuoi Codici di Indietroup", - "download": "Scarica", - "setupTwoFactorTitle": "Set Up Two-Faca Autenticazèue", - "sshAuthenticationRequired": "SSH Autenticazèue Obbligaaio", - "sshNoKeyboardInteractive": "Chiaveboard-Interativo Autenticazèue Unavailable", - "sshAuthenticationFailed": "Autenticazèue Failed", - "sshAuthenticationTimeout": "Autenticazèue Timeout", - "sshNoKeyboardInteractiveDescription": "Il server fa nsu suppota chiaveboard-interativo autenticazèue. Per favoe provide tuo pcomeswod o SSH chiave.", - "sshAuthFailedDescription": "Il provided credenziali erano incorect. Per favoe try again csu valid credenziali.", - "sshTimeoutDescription": "Il autenticazèue atempt timed out. Per favoe try again.", - "sshProvideCredentialsDescription": "Per favoe provide tuo SSH credenziali a csunetti a quesa server.", - "sshPasswordDescription": "Inserèci il pcomeswod per quesa SSH csunessèue.", - "sshKeyPasswordDescription": "If tuo SSH chiave è encrypted, inserèci il pcomesphrcomee here.", - "step1ScanQR": "Step 1: Spuò il QR code csu tuo auilnticaa app", - "manualEntryCode": "Codice Inserimento Manuale", - "cannotScanQRText": "If you può't spuò il QR code, inserèci quesa code manututtiy in tuo auilnticaa app", - "nextVerifyCode": "Avanti: Verifica Codice", - "verifyAuthenticator": "Verify Il tuo Auilnticaa", - "step2EnterCode": "Step 2: Inserèci il 6-digit code da tuo auilnticaa app", - "verificationCode": "Verificaèu Code", - "back": "Indietro", - "verifyAndEnable": "Verifica e Abilita", - "saveBackupCodesTitle": "Salva Il tuo Indietroup Codes", - "step3StoreCodesSecurely": "Step 3: Sae ilse codes in a safe place", - "importantBackupCodesText": "Salva ilse indietroup codes in a secure locaèu. You può use ilm a access tuo account if you lose tuo auilnticaa device.", - "completeSetup": "Completaa Setup", - "notEnabledText": "Two-faca autenticazèue aggiungè an extra layer di sicurezza da requiring a code da tuo auilnticaa app when signing in.", - "enableTwoFactorButton": "Abilita Two-Faca Autenticazèue", - "addExtraSecurityLayer": "Aggiungi an extra layer di sicurezza a tuo account", - "firstUser": "First Utente", - "firstUserMessage": "You ssuo il first utente e sarà made an amminètraae. You può vèualizza amminètraae impostazèui in il sidebar utente dropfarewn. If you think quesa è a mètake, check il farecker logs, o crea a GitHub èsue.", - "external": "Esterno", - "loginWithExternal": "Login csu Esterno Provider", - "loginWithExternalDesc": "Login using tuo csufigured external identity provider", - "externalNotSupportedInElectron": "Esterno autenticazèue è nsu suppotaaa in il Electrsu app yet. Per favoe use il web versèu per OIDC login.", - "resetPasswordButton": "Reset Pcomeswod", - "sendResetCode": "Invia Codice di Reset", - "resetCodeDesc": "Inserèci tuo nome utente a receive a pcomeswod reset code. Il code sarà logged in il farecker csutainer logs.", - "resetCode": "Codice di Reset", - "verifyCodeButton": "Verifica Codice", - "enterResetCode": "Inserèci il 6-digit code da il farecker csutainer logs per utente:", - "goToLogin": "Go a Login", - "newPassword": "Nuova Pcomeswod", - "confirmNewPassword": "Csuferma Pcomeswod", - "enterNewPassword": "Inserèci nuova pcomeswod", - "signUp": "Regètrai", - "mobileApp": "App Mobile", - "loggingInToMobileApp": "Logging in a il mobile app", - "desktopApp": "Deskap App", - "loggingInToDesktopApp": "Logging in a il deskap app", - "loggingInToDesktopAppViaWeb": "Logging in a il deskap app via web interface", - "loadingServer": "Caricamena server...", - "authenticating": "Auilnticaing...", - "dataLossWarning": "Resetting tuo pcomeswod quesa way sarà elimina tutti tuo salvad SSH host, credenziali, e oilr encrypted daa. Questa azèue nsu può essere annullaa. Only use quesa if you hanno pergotten tuo pcomeswod e ssuo nsu logged in.", - "authenticationDisabled": "Autenticazèue Dèabilitaa", - "authenticationDisabledDesc": "Tutti autenticazèue methods ssuo currently dèabilitaa. Per favoe csutact tuo amminètraaeètraa.", - "passwordResetSuccess": "Pcomeswod reimpostaa csu successoo", - "passwordResetSuccessDesc": "La tua pcomeswod è staa reimpostaa csu successoo. Ora puoi accedere csu la nuova pcomeswod." - }, - "errors": { - "notFound": "Nsu trovaa", - "unauthorized": "Nsu auaizzaa", - "forbidden": "Accesso negaa", - "serverError": "Erroee del server", - "networkError": "Erroee di rete", - "databaseConnection": "Could nsu csunetti a il daabcomee", - "unknownError": "Erroee scsuosciua", - "loginFailed": "Accesso fallito", - "failedPasswordReset": "Impossibile initiae pcomeswod reset", - "failedVerifyCode": "Impossibile verify reset code", - "failedCompleteReset": "Impossibile completaa pcomeswod reset", - "invalidTotpCode": "Codice TOTP non valido", - "failedOidcLogin": "Impossibile avvia OIDC login", - "failedUserInfo": "Impossibile get utente info after OIDC login", - "oidcAuthFailed": "OIDC autenticazèue failed", - "noTokenReceived": "No aken received da login", - "invalidAuthUrl": "Invalid authoizaèu URL received da indietroend", - "invalidInput": "Input nsu valifare", - "requiredField": "Campo obbligaaio", - "minLength": "Minimum length è {{min}}", - "maxLength": "Maximum length è {{max}}", - "invalidEmail": "Invalid email indirizzo", - "passwordMismatch": "Pcomeswods fare nsu mach", - "passwordLoginDisabled": "Nome utente/pcomeswod login è currently dèabilitaa", - "weakPassword": "Pcomeswod è ao weak", - "usernameExists": "Nome utente esète già", - "emailExists": "Email esète già", - "loadFailed": "Impossibile load daa", - "saveError": "Impossibile salvssuo", - "sessionExpired": "Sessèue scaduta" - }, - "messages": { - "saveSuccess": "Salvad csu successoo", - "saveError": "Impossibile salvssuo", - "deleteSuccess": "Eliminad csu successoo", - "deleteError": "Impossibile elimina", - "updateSuccess": "Aggèuaa csu successoo", - "updateError": "Impossibile aggèua", - "copySuccess": "Copied a clipboard", - "copyError": "Impossibile copia", - "copiedToClipboard": "Copiaa negli appunti", - "connectionEstablished": "Csunessèue establèhed", - "connectionClosed": "Csunessèue chiufece", - "reconnecting": "Ricsunessèue...", - "processing": "Processing...", - "pleaseWait": "Attendere...", - "registrationDisabled": "New account regètraèu è currently dèabilitaa da an amminètraae. Per favoe log in o csutact an amminètraaeètraa.", - "databaseConnected": "Daabcomee csunesso csu successoo", - "databaseConnectionFailed": "Impossibile csunetti a il daabcomee server", - "checkServerConnection": "Per favoe check tuo server csunessèue e try again", - "resetCodeSent": "Reset code sent a Docker logs", - "codeVerified": "Code verified csu successoo", - "passwordResetSuccess": "Pcomeswod reset csu successoo", - "loginSuccess": "Login successdiul", - "registrationSuccess": "Regètraèu successdiul" - }, - "profile": { - "title": "Prdiilo Utente", - "description": "Manage tuo account impostazèui e sicurezza", - "security": "Sicurezza", - "changePassword": "Cambia Pcomeswod", - "twoFactorAuth": "Autenticazèue a Due Faai", - "accountInfo": "Account Inpermazèui", - "role": "Role", - "admin": "Amminètraaeètraa", - "user": "Utente", - "authMethod": "Autenticazèue Method", - "local": "Local", - "external": "Esterno (OIDC)", - "externalAndLocal": "Dual Auth", - "selectPreferredLanguage": "Selezèua tuo preferred language per il interface", - "fileColorCoding": "File Colo Coding", - "fileColorCodingDesc": "Colo-code file da tipo: cartelle (red), file (blue), symlinks (green)", - "commandAutocomplete": "Comme Auacompletaa", - "commandAutocompleteDesc": "Abilita Tab chiave auacompletaa suggestèus per terminale commes bcomeed su tuo comme hèay", - "currentPassword": "Pcomeswod Attuale", - "passwordChangedSuccess": "Pcomeswod changed csu successoo! Per favoe log in again.", - "failedToChangePassword": "Impossibile change pcomeswod. Per favoe check tuo current pcomeswod e try again." - }, - "user": { - "failedToLoadVersionInfo": "Impossibile load versèu inpermazèui" - }, - "placeholders": { - "enterCode": "000000", - "ipAddress": "192.168.1.1", - "port": "22", - "maxRetries": "3", - "retryInterval": "10", - "language": "Lingua", - "username": "nome utente", - "hostname": "nome host", - "folder": "Cartella", - "password": "password", - "keyPassword": "password chiave", - "pastePrivateKey": "Incolla la tua chiave privata qui...", - "pastePublicKey": "Incolla la tua chiave pubblica qui...", - "credentialName": "Mio Server SSH", - "description": "Descrizione (opzionale)", - "searchCredentials": "Cerca credenziali per nome, utente o tag...", - "sshConfig": "configurazione ssh endpoint", - "homePath": "/home", - "clientId": "client-id", - "clientSecret": "client-secret", - "authUrl": "https://tuo-provider.com/applicazione/o/authorize/", - "redirectUrl": "https://tuo-provider.com/applicazione/o/termix/", - "tokenUrl": "https://tuo-provider.com/applicazione/o/token/", - "userIdField": "sub", - "usernameField": "name", - "scopes": "openid email profile", - "userinfoUrl": "https://tuo-provider.com/applicazione/o/userinfo/", - "enterUsername": "Inserisci nome utente da rendere amministratore", - "searchHosts": "Cerca host per nome, nome utente, IP, cartella, tag...", - "enterPassword": "Inserisci la tua password", - "totpCode": "Codice TOTP a 6 cifre", - "searchHostsAny": "Cerca host per qualsiasi info...", - "confirmPassword": "Inserisci la tua password per conferma", - "typeHere": "Scrivi qui", - "fileName": "Inserisci nome file (es. esempio.txt)", - "folderName": "Inserisci nome cartella", - "fullPath": "Inserisci percorso completo", - "currentPath": "Inserisci percorso corrente", - "newName": "Inserisci nuovo nome" - }, - "leftSidebar": { - "failedToLoadHosts": "Impossibile caricare gli host", - "noFolder": "Nessuna Cartella", - "passwordRequired": "La password è obbligatoria", - "failedToDeleteAccount": "Impossibile eliminare l'account", - "failedToMakeUserAdmin": "Impossibile rendere l'utente amministratore", - "userIsNowAdmin": "L'utente {{username}} è ora amministratore", - "removeAdminConfirm": "Sei sicuro di voler rimuovere lo stato di amministratore da {{username}}?", - "deleteUserConfirm": "Sei sicuro di voler eliminare l'utente {{username}}? Questa operazione non può essere annullata.", - "deleteAccount": "Elimina Account", - "closeDeleteAccount": "Chiudi Elimina Account", - "deleteAccountWarning": "Questa operazione non può essere annullata. Questo eliminerà permanentemente il tuo account e tutti i dati associati.", - "deleteAccountWarningDetails": "Eliminare il tuo account rimuoverà tutti i tuoi dati inclusi host SSH, configurazioni e impostazioni. Questa operazione è irreversibile.", - "deleteAccountWarningShort": "Questa operazione non è reversibile e eliminerà permanentemente il tuo account.", - "cannotDeleteAccount": "Impossibile Eliminare Account", - "lastAdminWarning": "Sei l'ultimo utente amministratore. Non puoi eliminare il tuo account perché questo lascerebbe il sistema senza amministratori. Rendi prima un altro utente amministratore, o contatta il supporto di sistema.", - "confirmPassword": "Conferma Password", - "deleting": "Eliminazione...", - "cancel": "Annulla" - }, - "interface": { - "sidebar": "Barra Laterale", - "toggleSidebar": "Mostra/Nascondi Barra Laterale", - "close": "Chiudi", - "online": "Online", - "offline": "Offline", - "maintenance": "Manutenzione", - "degraded": "Degradato", - "noTunnelConnections": "Nessuna connessione tunnel configurata", - "discord": "Discord", - "connectToSshForOperations": "Connettiti a SSH per usare le operazioni file", - "language": "Language", - "username": "nome utente", - "hostname": "host nome", - "folder": "Cartella", - "password": "pcomeswod", - "keyPassword": "chiave pcomeswod", - "pastePrivateKey": "Incolla tuo privae chiave here...", - "pastePublicKey": "Incolla tuo public chiave here...", - "credentialName": "My SSH Server", - "description": "Descrizèue (opzèuale)", - "searchCredentials": "Cerca credenziali per nome, utente o tag...", - "sshConfig": "endpoint ssh csufigurazèue", - "homePath": "/home", - "clientId": "client-id", - "clientSecret": "client-secret", - "authUrl": "https://tuo-provider.com/applicaèu/o/authoize/", - "redirectUrl": "https://tuo-provider.com/applicaèu/o/termix/", - "tokenUrl": "https://tuo-provider.com/applicaèu/o/aken/", - "userIdField": "sub", - "usernameField": "nome", - "scopes": "apriid email prdiile", - "userinfoUrl": "https://tuo-provider.com/applicaèu/o/utenteinfo/", - "enterUsername": "Inserèci nome utente a make amminètraae", - "searchHosts": "Cerca host da nome, nome utente, IP, cartella, tags...", - "enterPassword": "Inserèci tuo pcomeswod", - "totpCode": "6-digit TOTP code", - "searchHostsAny": "Cerca host da any info...", - "confirmPassword": "Inserèci tuo pcomeswod a csuferma", - "typeHere": "Tipo here", - "fileName": "Inserèci file nome (e.g., example.txt)", - "folderName": "Inserèci cartella nome", - "fullPath": "Inserèci percoso complea", - "currentPath": "Inserèci percoso corente", - "newName": "Inserèci nuovo nome" - }, - "leftSidebar": { - "failedToLoadHosts": "Impossibile caricssuo gli host", - "noFolder": "Nessuna Cartella", - "passwordRequired": "La pcomeswod è obbligaaia", - "failedToDeleteAccount": "Impossibile eliminssuo l'account", - "failedToMakeUserAdmin": "Impossibile rendere l'utente amminètraae", - "userIsNowAdmin": "L'utente {{nome utente}} è oa amminètraae", - "removeAdminConfirm": "Sei sicuro di voler rimuovere lo staa di amminètraae da {{nome utente}}?", - "deleteUserConfirm": "Sei sicuro di voler eliminssuo l'utente {{nome utente}}? Questa azèue nsu può essere annullaa.", - "deleteAccount": "Elimina Account", - "closeDeleteAccount": "Chiudi Elimina Account", - "deleteAccountWarning": "Questa azèue nsu può essere annullaa. Quesa eliminerà permanentemente il tuo account e tutti i dai comesociai.", - "deleteAccountWarningDetails": "Eliminssuo il tuo account rimuoverà tutti i tuoi dai inclusi host SSH, csufigurazèui e impostazèui. Questa azèue è irreversibile.", - "deleteAccountWarningShort": "Questa azèue nsu è reversibile e eliminerà permanentemente il tuo account.", - "cannotDeleteAccount": "Impossibile Eliminssuo Account", - "lastAdminWarning": "Sei l'ultimo utente amminètraae. Nsu puoi eliminssuo il tuo account perché quesa lcomecerebbe il sètema senza amminètraai. Rendi prima un altro utente amminètraae, o csutata il suppotao di sètema.", - "confirmPassword": "Csuferma Pcomeswod", - "deleting": "Eliminazèue...", - "cancel": "Annulla" - }, - "interface": { - "sidebar": "Barra Laerale", - "toggleSidebar": "Mostra/Ncomecsudi Barra Laerale", - "close": "Chiudi", - "online": "Online", - "offline": "Offline", - "maintenance": "Manutenzèue", - "degraded": "Degradaa", - "noTunnelConnections": "Nessuna csunessèue tunnel csufiguraa", - "discord": "Dècod", - "connectToSshForOperations": "Csunettiti a SSH per usssuo le operazèui file", - "uploadFile": "Carica File", - "newFile": "Nuovo File", - "newFolder": "Nuova Cartella", - "rename": "Rinomina", - "deleteItem": "Elimina Elemento", - "createNewFile": "Crea Nuovo File", - "createNewFolder": "Crea Nuova Cartella", - "renameItem": "Rinomina Elemento", - "clickToSelectFile": "Clicca per selezionare un file", - "noSshHosts": "Nessun Host SSH", - "sshHosts": "Host SSH", - "importSshHosts": "Importa Host SSH da JSON", - "clientId": "ID Client", - "clientSecret": "Segreto Client", - "error": "Errore", - "warning": "Avviso", - "deleteAccount": "Elimina Account", - "closeDeleteAccount": "Chiudi Elimina Account", - "cannotDeleteAccount": "Impossibile Eliminare Account", - "confirmPassword": "Conferma Password", - "deleting": "Eliminazione...", - "externalAuth": "Autenticazione Esterna (OIDC)", - "configureExternalProvider": "Configura provider identità esterno per", - "waitingForRetry": "In attesa di riprovare", - "retryingConnection": "Nuovo tentativo di connessione", - "resetSplitSizes": "Ripristina dimensioni divisione", - "sshManagerAlreadyOpen": "Gestore SSH già aperto", - "disabledDuringSplitScreen": "Disabilitato durante schermo diviso", - "unknown": "Sconosciuto", - "connected": "Connesso", - "disconnected": "Disconnesso", - "maxRetriesExhausted": "Tentativi massimi esauriti", - "endpointHostNotFound": "Host endpoint non trovato", - "administrator": "Amministratore", - "user": "Utente", - "external": "Esterno", - "local": "Locale", - "saving": "Salvataggio...", - "saveConfiguration": "Salva Configurazione", - "loading": "Caricamento...", - "refresh": "Aggiorna", - "adding": "Aggiunta...", - "makeAdmin": "Rendi Amministratore", - "deleteItem": "Elimina Elemena", - "createNewFile": "Crea Nuovo File", - "createNewFolder": "Crea Nuova Cartella", - "renameItem": "Rinomina Elemena", - "clickToSelectFile": "Clicca per selezèussuo un file", - "noSshHosts": "Nessun Host SSH", - "sshHosts": "Host SSH", - "importSshHosts": "Impotaaa Host SSH da JSON", - "clientId": "ID Client", - "clientSecret": "Segreto Client", - "error": "Erroee", - "warning": "Avvèo", - "deleteAccount": "Elimina Account", - "closeDeleteAccount": "Chiudi Elimina Account", - "cannotDeleteAccount": "Impossibile Eliminssuo Account", - "confirmPassword": "Csuferma Pcomeswod", - "deleting": "Eliminazèue...", - "externalAuth": "Autenticazèue Esterna (OIDC)", - "configureExternalProvider": "Csufigura provider identità esterno per", - "waitingForRetry": "In atesa di riprovssuo", - "retryingConnection": "Nuovo tentaivo di csunessèue", - "resetSplitSizes": "Riprètina dimensèui divèèue", - "sshManagerAlreadyOpen": "Gesae SSH già apera", - "disabledDuringSplitScreen": "Dèabilitaa durante schermo divèo", - "unknown": "Scsuosciua", - "connected": "Csunesso", - "disconnected": "Dècsunesso", - "maxRetriesExhausted": "Tentaivi mcomesimi esauriti", - "endpointHostNotFound": "Host endpoint nsu trovaa", - "administrator": "Amminètraae", - "user": "Utente", - "external": "Esterno", - "local": "Locale", - "saving": "Salvaaggio...", - "saveConfiguration": "Salva Csufigurazèue", - "loading": "Caricamena...", - "refresh": "Aggèua", - "adding": "Aggiunta...", - "makeAdmin": "Rendi Amminètraae", - "verifying": "Verifica...", - "verifyAndEnable": "Verifica e Abilita", - "secretKey": "Chiave segreta", - "totpQrCode": "Codice QR TOTP", - "passwordRequired": "La password è obbligatoria quando si usa l'autenticazione con password", - "sshKeyRequired": "La chiave privata SSH è obbligatoria quando si usa l'autenticazione con chiave", - "keyTypeRequired": "Il tipo di chiave è obbligatorio quando si usa l'autenticazione con chiave", - "validSshConfigRequired": "Devi selezionare una configurazione SSH valida dalla lista", - "updateHost": "Aggiorna Host", - "addHost": "Aggiungi Host", - "editHost": "Modifica Host", - "pinConnection": "Fissa Connessione", - "authentication": "Autenticazione", - "password": "Password", - "key": "Chiave", - "sshPrivateKey": "Chiave Privata SSH", - "keyPassword": "Password Chiave", - "keyType": "Tipo Chiave", - "enableTerminal": "Abilita Terminale", - "enableTunnel": "Abilita Tunnel", - "enableFileManager": "Abilita Gestione File", - "defaultPath": "Percorso Predefinito", - "tunnelConnections": "Connessioni Tunnel", - "maxRetries": "Tentativi Massimi", - "upload": "Carica", - "updateKey": "Aggiorna Chiave", - "productionFolder": "Produzione", - "databaseServer": "Server Database", - "developmentServer": "Server Sviluppo", - "developmentFolder": "Sviluppo", - "webServerProduction": "Web Server - Produzione", - "unknownError": "Errore sconosciuto", - "failedToInitiatePasswordReset": "Impossibile avviare il reset della password", - "failedToVerifyResetCode": "Impossibile verificare il codice di reset", - "failedToCompletePasswordReset": "Impossibile completare il reset della password", - "invalidTotpCode": "Codice TOTP non valido", - "failedToStartOidcLogin": "Impossibile avviare il login OIDC", - "failedToGetUserInfoAfterOidc": "Impossibile ottenere info utente dopo login OIDC", - "loginWithExternalProvider": "Accedi con provider esterno", - "loginWithExternal": "Accedi con Provider Esterno", - "sendResetCode": "Invia Codice di Reset", - "verifyCode": "Verifica Codice", - "resetPassword": "Reimposta Password", - "login": "Accedi", - "signUp": "Registrati", - "failedToUpdateOidcConfig": "Impossibile aggiornare la configurazione OIDC", - "failedToMakeUserAdmin": "Impossibile rendere l'utente amministratore", - "failedToStartTotpSetup": "Impossibile avviare la configurazione TOTP", - "invalidVerificationCode": "Codice di verifica non valido", - "failedToDisableTotp": "Impossibile disabilitare TOTP", - "failedToGenerateBackupCodes": "Impossibile generare i codici di backup" - }, - "mobile": { - "selectHostToStart": "Seleziona un host per iniziare la sessione terminale", - "limitedSupportMessage": "Il supporto mobile per il sito web è ancora in sviluppo. Usa l'app mobile per un'esperienza migliore.", - "mobileAppInProgress": "App mobile in sviluppo", - "mobileAppInProgressDesc": "Stiamo lavorando a un'app mobile dedicata per fornire un'esperienza migliore sui dispositivi mobili.", - "viewMobileAppDocs": "Installa App Mobile", - "mobileAppDocumentation": "Documentazione App Mobile" - }, - "dashboard": { - "title": "Dashboard", - "github": "GitHub", - "support": "Supporto", - "discord": "Discord", - "donate": "Dona", - "serverOverview": "Panoramica Server", - "version": "Versione", - "upToDate": "Aggiornato", - "updateAvailable": "Aggiornamento Disponibile", - "uptime": "Tempo di Attività", - "database": "Database", - "healthy": "Sano", - "error": "Errore", - "totalServers": "Server Totali", - "totalTunnels": "Tunnel Totali", - "totalCredentials": "Credenziali Totali", - "recentActivity": "Attività Recenti", - "reset": "Ripristina", - "loadingRecentActivity": "Caricamento attività recenti...", - "noRecentActivity": "Nessuna attività recente", - "quickActions": "Azioni Rapide", - "addHost": "Aggiungi Host", - "addCredential": "Aggiungi Credenziale", - "adminSettings": "Impostazioni Amministratore", - "userProfile": "Profilo Utente", - "serverStats": "Statistiche Server", - "loadingServerStats": "Caricamento statistiche server...", - "noServerData": "Nessun dato server disponibile", - "passwordRequired": "La pcomeswod è obbligaaia queo si usa l'autenticazèue csu pcomeswod", - "sshKeyRequired": "La chiave privaa SSH è obbligaaia queo si usa l'autenticazèue csu chiave", - "keyTypeRequired": "Il tipo di chiave è obbligaaio queo si usa l'autenticazèue csu chiave", - "validSshConfigRequired": "Devi selezèussuo una csufigurazèue SSH valida dtuttia lèta", - "updateHost": "Aggèua Host", - "addHost": "Aggiungi Host", - "editHost": "Modifica Host", - "pinConnection": "Fèsa Csunessèue", - "authentication": "Autenticazèue", - "password": "Pcomeswod", - "key": "Chiave", - "sshPrivateKey": "Chiave Privaa SSH", - "keyPassword": "Pcomeswod Chiave", - "keyType": "Tipo Chiave", - "enableTerminal": "Abilita Terminalee", - "enableTunnel": "Abilita Tunnel", - "enableFileManager": "Abilita Gestèue File", - "defaultPath": "Percoso Predefinia", - "tunnelConnections": "Csunessèui Tunnel", - "maxRetries": "Tentaivi Mcomesimi", - "upload": "Carica", - "updateKey": "Aggèua Chiave", - "productionFolder": "Produzèue", - "databaseServer": "Server Daabcomee", - "developmentServer": "Server Sviluppo", - "developmentFolder": "Sviluppo", - "webServerProduction": "Web Server - Produzèue", - "unknownError": "Erroee scsuosciua", - "failedToInitiatePasswordReset": "Impossibile avvèsuo il reset della pcomeswod", - "failedToVerifyResetCode": "Impossibile verificssuo il codice di reset", - "failedToCompletePasswordReset": "Impossibile completssuo il reset della pcomeswod", - "invalidTotpCode": "Codice TOTP nsu valifare", - "failedToStartOidcLogin": "Impossibile avvèsuo il login OIDC", - "failedToGetUserInfoAfterOidc": "Impossibile ottenere info utente farepo login OIDC", - "loginWithExternalProvider": "Accedi csu provider esterno", - "loginWithExternal": "Accedi csu Provider Esterno", - "sendResetCode": "Invia Codice di Reset", - "verifyCode": "Verifica Codice", - "resetPassword": "Reimposta Pcomeswod", - "login": "Accedi", - "signUp": "Regètrai", - "failedToUpdateOidcConfig": "Impossibile aggèussuo la csufigurazèue OIDC", - "failedToMakeUserAdmin": "Impossibile rendere l'utente amminètraae", - "failedToStartTotpSetup": "Impossibile avvèsuo la csufigurazèue TOTP", - "invalidVerificationCode": "Codice di verifica nsu valifare", - "failedToDisableTotp": "Impossibile dèabilitssuo TOTP", - "failedToGenerateBackupCodes": "Impossibile generssuo i codici di indietroup" - }, - "mobile": { - "selectHostToStart": "Selezèua un host per inizèsuo la sessèue terminalee", - "limitedSupportMessage": "Il suppotao mobile per il sia web è ancoa in sviluppo. Usa l'app mobile per un'esperienza miglioe.", - "mobileAppInProgress": "App mobile in sviluppo", - "mobileAppInProgressDesc": "Stiamo lavoeo a un'app mobile dedicaa per pernire un'esperienza miglioe sui dèpositivi mobili.", - "viewMobileAppDocs": "Insttuttia App Mobile", - "mobileAppDocumentation": "Documentazèue App Mobile" - }, - "dashboard": { - "title": "Dcomehboard", - "github": "GitHub", - "support": "Suppotao", - "discord": "Dècod", - "donate": "Dsua", - "serverOverview": "Panoamica Server", - "version": "Versèue", - "upToDate": "Aggèuaa", - "updateAvailable": "Aggèuomena Dèpsuibile", - "uptime": "Tempo di Attività", - "database": "Daabcomee", - "healthy": "Sano", - "error": "Erroee", - "totalServers": "Server Totali", - "totalTunnels": "Tunnel Totali", - "totalCredentials": "Credenziali Totali", - "recentActivity": "Attività Recentii", - "reset": "Riprètina", - "loadingRecentActivity": "Caricamena atività recenti...", - "noRecentActivity": "Nessuna atività recente", - "quickActions": "Azèui Rapide", - "addHost": "Aggiungi Host", - "addCredential": "Aggiungi Credenziale", - "adminSettings": "Impostazèui Amminètraae", - "userProfile": "Prdiilo Utente", - "serverStats": "Staètiche Server", - "loadingServerStats": "Caricamena staètiche server...", - "noServerData": "Nessun daa server dèpsuibile", - "cpu": "CPU", - "ram": "RAM", - "notAvailable": "N/D" - }, - "commandPalette": { - "searchPlaceholder": "Cerca host o azioni rapide...", - "recentActivity": "Attività Recenti", - "navigation": "Navigazione", - "addHost": "Aggiungi Host", - "addCredential": "Aggiungi Credenziale", - "adminSettings": "Impostazioni Amministratore", - "userProfile": "Profilo Utente", - "updateLog": "Log Aggiornamenti", - "hosts": "Host", - "openServerDetails": "Apri Dettagli Server", - "openFileManager": "Apri Gestione File", - "edit": "Modifica", - "links": "Link", - "github": "GitHub", - "support": "Supporto", - "discord": "Discord", - "donate": "Dona", - "press": "Premi", - "toToggle": "per aprire/chiudere", - "close": "Chiudi", - "hostManager": "Gestione Host" } -} - "searchPlaceholder": "Cerca host o azèui rapide...", - "recentActivity": "Attività Recentii", - "navigation": "Navigazèue", - "addHost": "Aggiungi Host", - "addCredential": "Aggiungi Credenziale", - "adminSettings": "Impostazèui Amminètraae", - "userProfile": "Prdiilo Utente", - "updateLog": "Log Aggèuomenti", - "hosts": "Host", - "openServerDetails": "Apri Dettagli Server", - "openFileManager": "Apri Gestèue File", - "edit": "Modifica", - "links": "Link", - "github": "GitHub", - "support": "Suppotao", - "discord": "Dècod", - "donate": "Dsua", - "press": "Premi", - "toToggle": "per aprire/chiudere", - "close": "Chiudi", - "hostManager": "Gestèue Host" - } -} +} \ No newline at end of file diff --git a/src/locales/ko/translation.json b/src/locales/ko/translation.json index ff1dea4c..b588fd25 100644 --- a/src/locales/ko/translation.json +++ b/src/locales/ko/translation.json @@ -59,7 +59,6 @@ "keyTypeRSA": "RSA", "keyTypeECDSA": "ECDSA", "keyTypeEd25519": "Ed25519", - "updateCredential": "자격 증명 업데이트", "basicInfo": "기본 정보", "authentication": "인증", "organization": "구성", @@ -119,7 +118,6 @@ "credentialSecuredDescription": "모든 민감한 데이터는 AES-256으로 암호화됩니다", "passwordAuthentication": "비밀번호 인증", "keyAuthentication": "키 인증", - "keyType": "키 유형", "securityReminder": "보안 알림", "securityReminderText": "자격 증명을 절대 공유하지 마세요. 모든 데이터는 저장 시 암호화됩니다.", "hostsUsingCredential": "이 자격 증명을 사용하는 호스트", @@ -190,7 +188,10 @@ "commandsWillBeSent": "명령어가 {{count}}개의 선택된 터미널로 전송됩니다.", "settings": "설정", "enableRightClickCopyPaste": "우클릭 복사/붙여넣기 활성화", - "shareIdeas": "SSH 도구의 다음 기능에 대한 아이디어가 있으신가요? 공유해주세요" + "shareIdeas": "SSH 도구의 다음 기능에 대한 아이디어가 있으신가요? 공유해주세요", + "scripts": { + "inputPlaceholder": "예: 시스템 명령어, Docker 스크립트" + } }, "snippets": { "title": "스니펫", @@ -299,11 +300,12 @@ "warning": "경고", "info": "정보", "success": "성공", - "loading": "로드 중", + "loading": "로드 중...", "required": "필수", "optional": "선택사항", "connect": "연결", "connecting": "연결 중...", + "creating": "생성 중...", "clear": "지우기", "toggleSidebar": "사이드바 토글", "sidebar": "사이드바", @@ -335,9 +337,9 @@ "deletedSuccessfully": "성공적으로 삭제되었습니다", "noTunnelConnections": "구성된 터널 연결이 없습니다", "sshTools": "SSH 도구", - "english": "English", - "chinese": "Chinese", - "german": "German", + "english": "영어", + "chinese": "중국어", + "german": "독일어", "cancel": "취소", "username": "사용자 이름", "name": "이름", @@ -389,7 +391,11 @@ "documentation": "문서", "retry": "재시도", "checking": "확인 중...", - "checkingDatabase": "데이터베이스 연결 확인 중..." + "checkingDatabase": "데이터베이스 연결 확인 중...", + "actions": "작업", + "remove": "제거", + "revoke": "취소", + "create": "생성" }, "nav": { "home": "홈", @@ -410,1406 +416,5 @@ "hostManager": "호스트 관리자", "cannotSplitTab": "이 탭을 분할할 수 없습니다", "tabNavigation": "탭 탐색" - }, - "admin": { - "title": "관리자 설정", - "oidc": "OIDC", - "users": "사용자", - "userManagement": "사용자 관리", - "makeAdmin": "관리자로 지정", - "removeAdmin": "관리자 제거", - "deleteUser": "사용자 삭제", - "allowRegistration": "등록 허용", - "oidcSettings": "OIDC 설정", - "clientId": "클라이언트 ID", - "clientSecret": "클라이언트 시크릿", - "issuerUrl": "발급자 URL", - "authorizationUrl": "인증 URL", - "tokenUrl": "토큰 URL", - "updateSettings": "설정 업데이트", - "confirmDelete": "이 사용자를 삭제하시겠습니까?", - "confirmMakeAdmin": "이 사용자를 관리자로 지정하시겠습니까?", - "confirmRemoveAdmin": "이 사용자의 관리자 권한을 제거하시겠습니까?", - "externalAuthentication": "외부 인증 (OIDC)", - "configureExternalProvider": "OIDC/OAuth2 인증을 위한 외부 ID 공급자를 구성합니다.", - "userIdentifierPath": "사용자 식별자 경로", - "displayNamePath": "표시 이름 경로", - "scopes": "범위", - "saving": "저장 중...", - "saveConfiguration": "구성 저장", - "reset": "재설정", - "success": "성공", - "loading": "로드 중...", - "refresh": "새로 고침", - "loadingUsers": "사용자 로드 중...", - "username": "사용자 이름", - "type": "유형", - "actions": "작업", - "external": "외부", - "local": "로컬", - "adminManagement": "관리자 관리", - "makeUserAdmin": "사용자를 관리자로 지정", - "adding": "추가 중...", - "currentAdmins": "현재 관리자", - "adminBadge": "관리자", - "removeAdminButton": "관리자 제거", - "general": "일반", - "userRegistration": "사용자 등록", - "allowNewAccountRegistration": "새 계정 등록 허용", - "allowPasswordLogin": "사용자 이름/비밀번호 로그인 허용", - "missingRequiredFields": "필수 필드 누락: {{fields}}", - "oidcConfigurationUpdated": "OIDC 구성이 성공적으로 업데이트되었습니다!", - "failedToFetchOidcConfig": "OIDC 구성을 가져오는 데 실패했습니다", - "failedToFetchRegistrationStatus": "등록 상태를 가져오는 데 실패했습니다", - "failedToFetchPasswordLoginStatus": "비밀번호 로그인 상태를 가져오는 데 실패했습니다", - "failedToFetchUsers": "사용자를 가져오는 데 실패했습니다", - "oidcConfigurationDisabled": "OIDC 구성이 성공적으로 비활성화되었습니다!", - "failedToUpdateOidcConfig": "OIDC 구성 업데이트에 실패했습니다", - "failedToDisableOidcConfig": "OIDC 구성 비활성화에 실패했습니다", - "enterUsernameToMakeAdmin": "관리자로 지정할 사용자 이름 입력", - "userIsNowAdmin": "사용자 {{username}}이(가) 이제 관리자입니다", - "failedToMakeUserAdmin": "사용자를 관리자로 지정하는 데 실패했습니다", - "removeAdminStatus": "{{username}}의 관리자 상태를 제거하시겠습니까?", - "adminStatusRemoved": "{{username}}의 관리자 상태가 제거되었습니다", - "failedToRemoveAdminStatus": "관리자 상태 제거에 실패했습니다", - "deleteUser": "사용자 {{username}}을(를) 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.", - "userDeletedSuccessfully": "사용자 {{username}}이(가) 성공적으로 삭제되었습니다", - "failedToDeleteUser": "사용자 삭제에 실패했습니다", - "overrideUserInfoUrl": "사용자 정보 URL 재정의 (필수 아님)", - "failedToFetchSessions": "세션을 가져오는 데 실패했습니다", - "sessionRevokedSuccessfully": "세션이 성공적으로 취소되었습니다", - "failedToRevokeSession": "세션 취소에 실패했습니다", - "confirmRevokeSession": "이 세션을 취소하시겠습니까?", - "confirmRevokeAllSessions": "이 사용자의 모든 세션을 취소하시겠습니까?", - "failedToRevokeSessions": "세션 취소에 실패했습니다", - "sessionsRevokedSuccessfully": "세션이 성공적으로 취소되었습니다", - "linkToPasswordAccount": "비밀번호 계정에 연결", - "linkOIDCDialogTitle": "OIDC 계정을 비밀번호 계정에 연결", - "linkOIDCDialogDescription": "{{username}} (OIDC 사용자)를 기존 비밀번호 계정에 연결합니다. 이렇게 하면 비밀번호 계정에 대한 이중 인증이 활성화됩니다.", - "linkOIDCWarningTitle": "경고: OIDC 사용자 데이터가 삭제됩니다", - "linkOIDCActionDeleteUser": "OIDC 사용자 계정 및 모든 데이터 삭제", - "linkOIDCActionAddCapability": "대상 비밀번호 계정에 OIDC 로그인 기능 추가", - "linkOIDCActionDualAuth": "비밀번호 계정이 비밀번호와 OIDC 모두로 로그인할 수 있도록 허용", - "linkTargetUsernameLabel": "대상 비밀번호 계정 사용자 이름", - "linkTargetUsernamePlaceholder": "비밀번호 계정의 사용자 이름 입력", - "linkAccountsButton": "계정 연결", - "linkingAccounts": "연결 중...", - "accountsLinkedSuccessfully": "OIDC 사용자 {{oidcUsername}}이(가) {{targetUsername}}에 연결되었습니다", - "failedToLinkAccounts": "계정 연결에 실패했습니다", - "linkTargetUsernameRequired": "대상 사용자 이름이 필요합니다", - "unlinkOIDCTitle": "OIDC 인증 연결 해제", - "unlinkOIDCDescription": "{{username}}에서 OIDC 인증을 제거하시겠습니까? 사용자는 이후 사용자 이름/비밀번호로만 로그인할 수 있습니다.", - "unlinkOIDCSuccess": "{{username}}에서 OIDC가 연결 해제되었습니다", - "failedToUnlinkOIDC": "OIDC 연결 해제에 실패했습니다", - "databaseSecurity": "데이터베이스 보안", - "encryptionStatus": "암호화 상태", - "encryptionEnabled": "암호화 활성화됨", - "enabled": "활성화됨", - "disabled": "비활성화됨", - "keyId": "키 ID", - "created": "생성됨", - "migrationStatus": "마이그레이션 상태", - "migrationCompleted": "마이그레이션 완료", - "migrationRequired": "마이그레이션 필요", - "deviceProtectedMasterKey": "환경 보호 마스터 키", - "legacyKeyStorage": "레거시 키 저장소", - "masterKeyEncryptedWithDeviceFingerprint": "환경 지문으로 암호화된 마스터 키 (KEK 보호 활성)", - "keyNotProtectedByDeviceBinding": "환경 바인딩으로 보호되지 않는 키 (업그레이드 권장)", - "valid": "유효", - "initializeDatabaseEncryption": "데이터베이스 암호화 초기화", - "enableAes256EncryptionWithDeviceBinding": "환경 바인딩 마스터 키 보호를 사용하여 AES-256 암호화를 활성화합니다. SSH 키, 비밀번호 및 인증 토큰에 대한 엔터프라이즈급 보안을 생성합니다.", - "featuresEnabled": "활성화된 기능:", - "aes256GcmAuthenticatedEncryption": "AES-256-GCM 인증 암호화", - "deviceFingerprintMasterKeyProtection": "환경 지문 마스터 키 보호 (KEK)", - "pbkdf2KeyDerivation": "100K 반복을 사용한 PBKDF2 키 파생", - "automaticKeyManagement": "자동 키 관리 및 순환", - "initializing": "초기화 중...", - "initializeEnterpriseEncryption": "엔터프라이즈 암호화 초기화", - "migrateExistingData": "기존 데이터 마이그레이션", - "encryptExistingUnprotectedData": "데이터베이스의 기존 보호되지 않은 데이터를 암호화합니다. 이 프로세스는 안전하며 자동 백업을 생성합니다.", - "testMigrationDryRun": "암호화 호환성 확인", - "migrating": "마이그레이션 중...", - "migrateData": "데이터 마이그레이션", - "securityInformation": "보안 정보", - "sshPrivateKeysEncryptedWithAes256": "SSH 개인 키 및 비밀번호는 AES-256-GCM으로 암호화됩니다", - "userAuthTokensProtected": "사용자 인증 토큰 및 2FA 비밀이 보호됩니다", - "masterKeysProtectedByDeviceFingerprint": "마스터 암호화 키는 장치 지문(KEK)으로 보호됩니다", - "keysBoundToServerInstance": "키는 현재 서버 환경에 바인딩됩니다 (환경 변수를 통해 마이그레이션 가능)", - "pbkdf2HkdfKeyDerivation": "100K 반복을 사용한 PBKDF2 + HKDF 키 파생", - "backwardCompatibleMigration": "마이그레이션 중에도 모든 데이터는 이전 버전과 호환됩니다", - "enterpriseGradeSecurityActive": "엔터프라이즈급 보안 활성", - "masterKeysProtectedByDeviceBinding": "마스터 암호화 키는 환경 지문으로 보호됩니다. 서버 호스트 이름, 경로 및 기타 환경 정보를 사용하여 보호 키를 생성합니다. 서버를 마이그레이션하려면 새 서버에서 DB_ENCRYPTION_KEY 환경 변수를 설정하세요.", - "important": "중요", - "keepEncryptionKeysSecure": "데이터 보안 보장: 데이터베이스 파일 및 서버 구성을 정기적으로 백업하세요. 새 서버로 마이그레이션하려면 새 환경에서 DB_ENCRYPTION_KEY 환경 변수를 설정하거나 동일한 호스트 이름 및 디렉터리 구조를 유지하세요.", - "loadingEncryptionStatus": "암호화 상태 로드 중...", - "testMigrationDescription": "실제로 데이터를 수정하지 않고 기존 데이터를 암호화된 형식으로 안전하게 마이그레이션할 수 있는지 확인합니다", - "serverMigrationGuide": "서버 마이그레이션 가이드", - "migrationInstructions": "암호화된 데이터를 새 서버로 마이그레이션하려면: 1) 데이터베이스 파일 백업, 2) 새 서버에서 환경 변수 DB_ENCRYPTION_KEY=\"your-key\" 설정, 3) 데이터베이스 파일 복원", - "environmentProtection": "환경 보호", - "environmentProtectionDesc": "서버 환경 정보(호스트 이름, 경로 등)를 기반으로 암호화 키를 보호하며, 환경 변수를 통해 마이그레이션 가능", - "verificationCompleted": "호환성 확인 완료 - 데이터가 변경되지 않았습니다", - "verificationInProgress": "확인 완료", - "dataMigrationCompleted": "데이터 마이그레이션이 성공적으로 완료되었습니다!", - "migrationCompleted": "마이그레이션 완료", - "verificationFailed": "호환성 확인 실패", - "migrationFailed": "마이그레이션 실패", - "runningVerification": "호환성 확인 실행 중...", - "startingMigration": "마이그레이션 시작 중...", - "hardwareFingerprintSecurity": "하드웨어 지문 보안", - "hardwareBoundEncryption": "하드웨어 바인딩 암호화 활성", - "masterKeysNowProtectedByHardwareFingerprint": "마스터 키는 이제 환경 변수 대신 실제 하드웨어 지문으로 보호됩니다", - "cpuSerialNumberDetection": "CPU 일련 번호 감지", - "motherboardUuidIdentification": "마더보드 UUID 식별", - "diskSerialNumberVerification": "디스크 일련 번호 확인", - "biosSerialNumberCheck": "BIOS 일련 번호 확인", - "stableMacAddressFiltering": "안정적인 MAC 주소 필터링", - "databaseFileEncryption": "데이터베이스 파일 암호화", - "dualLayerProtection": "이중 계층 보호 활성", - "bothFieldAndFileEncryptionActive": "최대 보안을 위해 필드 수준 및 파일 수준 암호화가 모두 활성화되었습니다", - "fieldLevelAes256Encryption": "민감한 데이터에 대한 필드 수준 AES-256 암호화", - "fileLevelDatabaseEncryption": "하드웨어 바인딩을 사용한 파일 수준 데이터베이스 암호화", - "hardwareBoundFileKeys": "하드웨어 바인딩 파일 암호화 키", - "automaticEncryptedBackups": "자동 암호화 백업 생성", - "createEncryptedBackup": "암호화된 백업 생성", - "creatingBackup": "백업 생성 중...", - "backupCreated": "백업 생성됨", - "encryptedBackupCreatedSuccessfully": "암호화된 백업이 성공적으로 생성되었습니다", - "backupCreationFailed": "백업 생성 실패", - "databaseMigration": "데이터베이스 마이그레이션", - "exportForMigration": "마이그레이션을 위한 내보내기", - "exportDatabaseForHardwareMigration": "새 하드웨어로 마이그레이션하기 위해 복호화된 데이터가 포함된 SQLite 파일로 데이터베이스 내보내기", - "exportDatabase": "SQLite 데이터베이스 내보내기", - "exporting": "내보내기 중...", - "exportCreated": "SQLite 내보내기 생성됨", - "exportContainsDecryptedData": "SQLite 내보내기에는 복호화된 데이터가 포함되어 있습니다 - 안전하게 보관하세요!", - "databaseExportedSuccessfully": "SQLite 데이터베이스가 성공적으로 내보내졌습니다", - "databaseExportFailed": "SQLite 데이터베이스 내보내기 실패", - "importFromMigration": "마이그레이션에서 가져오기", - "importDatabaseFromAnotherSystem": "다른 시스템 또는 하드웨어에서 SQLite 데이터베이스 가져오기", - "importDatabase": "SQLite 데이터베이스 가져오기", - "importing": "가져오기 중...", - "selectedFile": "선택된 SQLite 파일", - "importWillReplaceExistingData": "SQLite 가져오기는 기존 데이터를 대체합니다 - 백업 권장!", - "pleaseSelectImportFile": "SQLite 가져오기 파일을 선택하세요", - "databaseImportedSuccessfully": "SQLite 데이터베이스가 성공적으로 가져와졌습니다", - "databaseImportFailed": "SQLite 데이터베이스 가져오기 실패", - "manageEncryptionAndBackups": "암호화 키, 데이터베이스 보안 및 백업 작업 관리", - "activeSecurityFeatures": "현재 활성화된 보안 조치 및 보호", - "deviceBindingTechnology": "고급 하드웨어 기반 키 보호 기술", - "backupAndRecovery": "안전한 백업 생성 및 데이터베이스 복구 옵션", - "crossSystemDataTransfer": "다른 시스템 간 데이터베이스 내보내기 및 가져오기", - "noMigrationNeeded": "마이그레이션 불필요", - "encryptionKey": "암호화 키", - "keyProtection": "키 보호", - "active": "활성", - "legacy": "레거시", - "dataStatus": "데이터 상태", - "encrypted": "암호화됨", - "needsMigration": "마이그레이션 필요", - "ready": "준비됨", - "initializeEncryption": "암호화 초기화", - "initialize": "초기화", - "test": "테스트", - "migrate": "마이그레이션", - "backup": "백업", - "createBackup": "백업 생성", - "exportImport": "내보내기/가져오기", - "export": "내보내기", - "import": "가져오기", - "passwordRequired": "비밀번호 필요", - "confirmExport": "내보내기 확인", - "exportDescription": "SSH 호스트 및 자격 증명을 SQLite 파일로 내보내기", - "importDescription": "증분 병합으로 SQLite 파일 가져오기 (중복 건너뛰기)", - "criticalWarning": "중요 경고", - "cannotDisablePasswordLoginWithoutOIDC": "OIDC가 구성되지 않은 상태에서는 비밀번호 로그인을 비활성화할 수 없습니다! 비밀번호 로그인을 비활성화하기 전에 OIDC 인증을 구성해야 합니다. 그렇지 않으면 Termix에 액세스할 수 없게 됩니다.", - "confirmDisablePasswordLogin": "비밀번호 로그인을 비활성화하시겠습니까? 계속하기 전에 OIDC가 올바르게 구성되고 작동하는지 확인하세요. 그렇지 않으면 Termix 인스턴스에 액세스할 수 없게 됩니다.", - "passwordLoginDisabled": "비밀번호 로그인이 성공적으로 비활성화되었습니다", - "passwordLoginAndRegistrationDisabled": "비밀번호 로그인 및 새 계정 등록이 성공적으로 비활성화되었습니다", - "requiresPasswordLogin": "비밀번호 로그인 활성화 필요", - "passwordLoginDisabledWarning": "비밀번호 로그인이 비활성화되었습니다. OIDC가 올바르게 구성되어 있는지 확인하세요. 그렇지 않으면 Termix에 로그인할 수 없습니다.", - "oidcRequiredWarning": "중요: 비밀번호 로그인이 비활성화되었습니다. OIDC를 재설정하거나 잘못 구성하면 Termix에 대한 모든 액세스 권한을 잃고 인스턴스가 작동하지 않게 됩니다. 절대적으로 확신하는 경우에만 진행하세요.", - "confirmDisableOIDCWarning": "경고: 비밀번호 로그인도 비활성화된 상태에서 OIDC를 비활성화하려고 합니다. 이렇게 하면 Termix 인스턴스가 작동하지 않게 되고 모든 액세스 권한을 잃게 됩니다. 정말로 진행하시겠습니까?" - }, - "hosts": { - "title": "호스트 관리자", - "sshHosts": "SSH 호스트", - "noHosts": "SSH 호스트 없음", - "noHostsMessage": "아직 SSH 호스트를 추가하지 않았습니다. \"호스트 추가\"를 클릭하여 시작하세요.", - "loadingHosts": "호스트 로드 중...", - "failedToLoadHosts": "호스트 로드 실패", - "retry": "재시도", - "refresh": "새로 고침", - "hostsCount": "{{count}}개 호스트", - "importJson": "JSON 가져오기", - "importing": "가져오기 중...", - "importJsonTitle": "JSON에서 SSH 호스트 가져오기", - "importJsonDesc": "JSON 파일을 업로드하여 여러 SSH 호스트를 일괄 가져오기 (최대 100개).", - "downloadSample": "샘플 다운로드", - "formatGuide": "형식 가이드", - "exportCredentialWarning": "경고: 호스트 \"{{name}}\"은(는) 자격 증명 인증을 사용합니다. 내보낸 파일에는 자격 증명 데이터가 포함되지 않으며 가져오기 후 수동으로 다시 구성해야 합니다. 계속하시겠습니까?", - "exportSensitiveDataWarning": "경고: 호스트 \"{{name}}\"에는 민감한 인증 데이터(비밀번호/SSH 키)가 포함되어 있습니다. 내보낸 파일에는 이 데이터가 평문으로 포함됩니다. 파일을 안전하게 보관하고 사용 후 삭제하세요. 계속하시겠습니까?", - "uncategorized": "미분류", - "confirmDelete": "\"{{name}}\"을(를) 삭제하시겠습니까?", - "failedToDeleteHost": "호스트 삭제 실패", - "failedToExportHost": "호스트 내보내기 실패. 로그인되어 있고 호스트 데이터에 액세스할 수 있는지 확인하세요.", - "jsonMustContainHosts": "JSON에는 \"hosts\" 배열이 포함되어 있거나 호스트 배열이어야 합니다", - "noHostsInJson": "JSON 파일에서 호스트를 찾을 수 없습니다", - "maxHostsAllowed": "가져오기당 최대 100개 호스트 허용", - "importCompleted": "가져오기 완료: {{success}}개 성공, {{failed}}개 실패", - "importFailed": "가져오기 실패", - "importError": "가져오기 오류", - "failedToImportJson": "JSON 파일 가져오기 실패", - "connectionDetails": "연결 세부 정보", - "organization": "구성", - "ipAddress": "IP 주소", - "port": "포트", - "name": "이름", - "username": "사용자 이름", - "folder": "폴더", - "tags": "태그", - "pin": "고정", - "passwordRequired": "비밀번호 인증을 사용할 때 비밀번호가 필요합니다", - "sshKeyRequired": "키 인증을 사용할 때 SSH 개인 키가 필요합니다", - "keyTypeRequired": "키 인증을 사용할 때 키 유형이 필요합니다", - "mustSelectValidSshConfig": "목록에서 유효한 SSH 구성을 선택해야 합니다", - "addHost": "호스트 추가", - "editHost": "호스트 편집", - "cloneHost": "호스트 복제", - "updateHost": "호스트 업데이트", - "hostUpdatedSuccessfully": "호스트 \"{{name}}\"이(가) 성공적으로 업데이트되었습니다!", - "hostAddedSuccessfully": "호스트 \"{{name}}\"이(가) 성공적으로 추가되었습니다!", - "hostDeletedSuccessfully": "호스트 \"{{name}}\"이(가) 성공적으로 삭제되었습니다!", - "failedToSaveHost": "호스트 저장 실패. 다시 시도하세요.", - "enableTerminal": "터미널 활성화", - "enableTerminalDesc": "터미널 탭에서 호스트 표시 활성화/비활성화", - "enableTunnel": "터널 활성화", - "enableTunnelDesc": "터널 탭에서 호스트 표시 활성화/비활성화", - "enableFileManager": "파일 관리자 활성화", - "enableFileManagerDesc": "파일 관리자 탭에서 호스트 표시 활성화/비활성화", - "defaultPath": "기본 경로", - "defaultPathDesc": "이 호스트의 파일 관리자를 열 때 기본 디렉터리", - "tunnelConnections": "터널 연결", - "connection": "연결", - "remove": "제거", - "sourcePort": "소스 포트", - "sourcePortDesc": " (소스는 일반 탭의 현재 연결 세부 정보를 나타냅니다)", - "endpointPort": "엔드포인트 포트", - "endpointSshConfig": "엔드포인트 SSH 구성", - "tunnelForwardDescription": "이 터널은 소스 머신(일반 탭의 현재 연결 세부 정보)의 포트 {{sourcePort}}에서 엔드포인트 머신의 포트 {{endpointPort}}로 트래픽을 전달합니다.", - "maxRetries": "최대 재시도 횟수", - "maxRetriesDescription": "터널 연결에 대한 최대 재시도 횟수.", - "retryInterval": "재시도 간격 (초)", - "retryIntervalDescription": "재시도 시도 사이의 대기 시간.", - "autoStartContainer": "컨테이너 시작 시 자동 시작", - "autoStartDesc": "컨테이너가 시작될 때 이 터널을 자동으로 시작합니다", - "addConnection": "터널 연결 추가", - "sshpassRequired": "비밀번호 인증에 Sshpass 필요", - "sshpassRequiredDesc": "터널에서 비밀번호 인증을 사용하려면 시스템에 sshpass가 설치되어 있어야 합니다.", - "otherInstallMethods": "기타 설치 방법:", - "debianUbuntuEquivalent": "(Debian/Ubuntu) 또는 OS에 해당하는 방법.", - "or": "또는", - "centosRhelFedora": "CentOS/RHEL/Fedora", - "macos": "macOS", - "windows": "Windows", - "sshServerConfigRequired": "SSH 서버 구성 필요", - "sshServerConfigDesc": "터널 연결의 경우 SSH 서버가 포트 포워딩을 허용하도록 구성되어야 합니다:", - "gatewayPortsYes": "모든 인터페이스에 원격 포트를 바인딩하려면", - "allowTcpForwardingYes": "포트 포워딩을 활성화하려면", - "permitRootLoginYes": "터널링에 루트 사용자를 사용하는 경우", - "editSshConfig": "/etc/ssh/sshd_config를 편집하고 SSH를 재시작하세요: sudo systemctl restart sshd", - "upload": "업로드", - "authentication": "인증", - "password": "비밀번호", - "key": "키", - "credential": "자격 증명", - "none": "없음", - "selectCredential": "자격 증명 선택", - "selectCredentialPlaceholder": "자격 증명 선택...", - "credentialRequired": "자격 증명 인증을 사용할 때 자격 증명이 필요합니다", - "credentialDescription": "자격 증명을 선택하면 현재 사용자 이름을 덮어쓰고 자격 증명의 인증 세부 정보를 사용합니다.", - "sshPrivateKey": "SSH 개인 키", - "keyPassword": "키 비밀번호", - "keyType": "키 유형", - "autoDetect": "자동 감지", - "rsa": "RSA", - "ed25519": "ED25519", - "ecdsaNistP256": "ECDSA NIST P-256", - "ecdsaNistP384": "ECDSA NIST P-384", - "ecdsaNistP521": "ECDSA NIST P-521", - "dsa": "DSA", - "rsaSha2256": "RSA SHA2-256", - "rsaSha2512": "RSA SHA2-512", - "uploadFile": "파일 업로드", - "pasteKey": "키 붙여넣기", - "updateKey": "키 업데이트", - "existingKey": "기존 키 (클릭하여 변경)", - "existingCredential": "기존 자격 증명 (클릭하여 변경)", - "addTagsSpaceToAdd": "태그 추가 (스페이스바로 추가)", - "terminalBadge": "터미널", - "tunnelBadge": "터널", - "fileManagerBadge": "파일 관리자", - "general": "일반", - "terminal": "터미널", - "tunnel": "터널", - "fileManager": "파일 관리자", - "serverStats": "서버 통계", - "hostViewer": "호스트 뷰어", - "enableServerStats": "서버 통계 활성화", - "enableServerStatsDesc": "이 호스트에 대한 서버 통계 수집 활성화/비활성화", - "displayItems": "표시 항목", - "displayItemsDesc": "서버 통계 페이지에 표시할 메트릭 선택", - "enableCpu": "CPU 사용량", - "enableMemory": "메모리 사용량", - "enableDisk": "디스크 사용량", - "enableNetwork": "네트워크 통계 (곧 제공)", - "enableProcesses": "프로세스 수 (곧 제공)", - "enableUptime": "가동 시간 (곧 제공)", - "enableHostname": "호스트 이름 (곧 제공)", - "enableOs": "운영 체제 (곧 제공)", - "customCommands": "사용자 지정 명령 (곧 제공)", - "customCommandsDesc": "이 서버에 대한 사용자 지정 종료 및 재부팅 명령 정의", - "shutdownCommand": "종료 명령", - "rebootCommand": "재부팅 명령", - "confirmRemoveFromFolder": "폴더 \"{{folder}}\"에서 \"{{name}}\"을(를) 제거하시겠습니까? 호스트는 \"폴더 없음\"으로 이동됩니다.", - "removedFromFolder": "호스트 \"{{name}}\"이(가) 폴더에서 성공적으로 제거되었습니다", - "failedToRemoveFromFolder": "폴더에서 호스트 제거 실패", - "folderRenamed": "폴더 \"{{oldName}}\"이(가) \"{{newName}}\"(으)로 성공적으로 이름이 변경되었습니다", - "failedToRenameFolder": "폴더 이름 변경 실패", - "editFolderAppearance": "폴더 모양 편집", - "editFolderAppearanceDesc": "폴더의 색상 및 아이콘 사용자 지정", - "folderColor": "폴더 색상", - "folderIcon": "폴더 아이콘", - "preview": "미리보기", - "folderAppearanceUpdated": "폴더 모양이 성공적으로 업데이트되었습니다", - "failedToUpdateFolderAppearance": "폴더 모양 업데이트 실패", - "deleteAllHostsInFolder": "폴더의 모든 호스트 삭제", - "confirmDeleteAllHostsInFolder": "폴더 \"{{folder}}\"의 모든 {{count}}개 호스트를 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.", - "allHostsInFolderDeleted": "폴더 \"{{folder}}\"에서 {{count}}개 호스트가 성공적으로 삭제되었습니다", - "failedToDeleteHostsInFolder": "폴더의 호스트 삭제 실패", - "movedToFolder": "호스트 \"{{name}}\"이(가) \"{{folder}}\"(으)로 성공적으로 이동되었습니다", - "failedToMoveToFolder": "호스트를 폴더로 이동하는 데 실패했습니다", - "statistics": "통계", - "enabledWidgets": "활성화된 위젯", - "enabledWidgetsDesc": "이 호스트에 대해 표시할 통계 위젯 선택", - "monitoringConfiguration": "모니터링 구성", - "monitoringConfigurationDesc": "서버 통계 및 상태를 확인하는 빈도 구성", - "statusCheckEnabled": "상태 모니터링 활성화", - "statusCheckEnabledDesc": "서버가 온라인인지 오프라인인지 확인", - "statusCheckInterval": "상태 확인 간격", - "statusCheckIntervalDesc": "호스트가 온라인인지 확인하는 빈도 (5초 - 1시간)", - "metricsEnabled": "메트릭 모니터링 활성화", - "metricsEnabledDesc": "CPU, RAM, 디스크 및 기타 시스템 통계 수집", - "metricsInterval": "메트릭 수집 간격", - "metricsIntervalDesc": "서버 통계를 수집하는 빈도 (5초 - 1시간)", - "intervalSeconds": "초", - "intervalMinutes": "분", - "intervalValidation": "모니터링 간격은 5초에서 1시간(3600초) 사이여야 합니다", - "monitoringDisabled": "이 호스트에 대한 서버 모니터링이 비활성화되었습니다", - "enableMonitoring": "호스트 관리자 → 통계 탭에서 모니터링 활성화", - "monitoringDisabledBadge": "모니터링 꺼짐", - "statusMonitoring": "상태", - "metricsMonitoring": "메트릭", - "terminalCustomizationNotice": "참고: 터미널 사용자 지정은 데스크톱(웹사이트 및 Electron 앱)에서만 작동합니다. 모바일 앱 및 모바일 웹사이트는 시스템 기본 터미널 설정을 사용합니다.", - "terminalCustomization": "터미널 사용자 지정", - "appearance": "모양", - "behavior": "동작", - "advanced": "고급", - "themePreview": "테마 미리보기", - "theme": "테마", - "selectTheme": "테마 선택", - "chooseColorTheme": "터미널의 색상 테마 선택", - "fontFamily": "글꼴", - "selectFont": "글꼴 선택", - "selectFontDesc": "터미널에서 사용할 글꼴 선택", - "fontSize": "글꼴 크기", - "fontSizeValue": "글꼴 크기: {{value}}px", - "adjustFontSize": "터미널 글꼴 크기 조정", - "letterSpacing": "자간", - "letterSpacingValue": "자간: {{value}}px", - "adjustLetterSpacing": "문자 간 간격 조정", - "lineHeight": "줄 높이", - "lineHeightValue": "줄 높이: {{value}}", - "adjustLineHeight": "줄 간 간격 조정", - "cursorStyle": "커서 스타일", - "selectCursorStyle": "커서 스타일 선택", - "cursorStyleBlock": "블록", - "cursorStyleUnderline": "밑줄", - "cursorStyleBar": "바", - "chooseCursorAppearance": "커서 모양 선택", - "cursorBlink": "커서 깜박임", - "enableCursorBlink": "커서 깜박임 애니메이션 활성화", - "scrollbackBuffer": "스크롤백 버퍼", - "scrollbackBufferValue": "스크롤백 버퍼: {{value}}줄", - "scrollbackBufferDesc": "스크롤백 기록에 유지할 줄 수", - "bellStyle": "벨 스타일", - "selectBellStyle": "벨 스타일 선택", - "bellStyleNone": "없음", - "bellStyleSound": "소리", - "bellStyleVisual": "시각적", - "bellStyleBoth": "둘 다", - "bellStyleDesc": "터미널 벨(BEL 문자, \\x07) 처리 방법. 프로그램은 작업 완료, 오류 발생 또는 알림을 위해 이를 트리거합니다. \"소리\"는 오디오 비프음을 재생하고, \"시각적\"은 화면을 잠깐 깜박이며, \"둘 다\"는 둘 다 수행하고, \"없음\"은 벨 알림을 비활성화합니다.", - "rightClickSelectsWord": "우클릭으로 단어 선택", - "rightClickSelectsWordDesc": "우클릭하면 커서 아래의 단어를 선택합니다", - "fastScrollModifier": "빠른 스크롤 수정자", - "selectModifier": "수정자 선택", - "modifierAlt": "Alt", - "modifierCtrl": "Ctrl", - "modifierShift": "Shift", - "fastScrollModifierDesc": "빠른 스크롤을 위한 수정자 키", - "fastScrollSensitivity": "빠른 스크롤 감도", - "fastScrollSensitivityValue": "빠른 스크롤 감도: {{value}}", - "fastScrollSensitivityDesc": "수정자를 누르고 있을 때 스크롤 속도 배수", - "minimumContrastRatio": "최소 대비율", - "minimumContrastRatioValue": "최소 대비율: {{value}}", - "minimumContrastRatioDesc": "가독성 향상을 위해 색상 자동 조정", - "sshAgentForwarding": "SSH 에이전트 포워딩", - "sshAgentForwardingDesc": "SSH 인증 에이전트를 원격 호스트로 전달", - "backspaceMode": "백스페이스 모드", - "selectBackspaceMode": "백스페이스 모드 선택", - "backspaceModeNormal": "일반 (DEL)", - "backspaceModeControlH": "Control-H (^H)", - "backspaceModeDesc": "호환성을 위한 백스페이스 키 동작", - "startupSnippet": "시작 스니펫", - "selectSnippet": "스니펫 선택", - "searchSnippets": "스니펫 검색...", - "snippetNone": "없음", - "noneAuthTitle": "키보드 대화형 인증", - "noneAuthDescription": "이 인증 방법은 SSH 서버에 연결할 때 키보드 대화형 인증을 사용합니다.", - "noneAuthDetails": "키보드 대화형 인증을 사용하면 서버가 연결 중에 자격 증명을 요청할 수 있습니다. 다단계 인증이 필요한 서버나 자격 증명을 로컬에 저장하지 않으려는 경우에 유용합니다.", - "forceKeyboardInteractive": "키보드 대화형 강제", - "forceKeyboardInteractiveDesc": "키보드 대화형 인증을 강제로 사용합니다. 이는 2단계 인증(TOTP/2FA)을 사용하는 서버에 종종 필요합니다.", - "overrideCredentialUsername": "자격 증명 사용자 이름 재정의", - "overrideCredentialUsernameDesc": "자격 증명에 저장된 것과 다른 사용자 이름을 사용합니다. 이를 통해 동일한 자격 증명을 다른 사용자 이름과 함께 사용할 수 있습니다.", - "jumpHosts": "점프 호스트", - "jumpHostsDescription": "점프 호스트(배스천 호스트라고도 함)를 사용하면 하나 이상의 중간 서버를 통해 대상 서버에 연결할 수 있습니다. 방화벽 뒤 또는 개인 네트워크의 서버에 액세스하는 데 유용합니다.", - "jumpHostChain": "점프 호스트 체인", - "addJumpHost": "점프 호스트 추가", - "selectServer": "서버 선택", - "searchServers": "서버 검색...", - "noServerFound": "서버를 찾을 수 없습니다", - "jumpHostsOrder": "연결은 다음 순서로 이루어집니다: 점프 호스트 1 → 점프 호스트 2 → ... → 대상 서버", - "quickActions": "빠른 작업", - "quickActionsDescription": "빠른 작업을 사용하면 이 서버에서 SSH 스니펫을 실행하는 사용자 지정 버튼을 만들 수 있습니다. 이러한 버튼은 빠른 액세스를 위해 서버 통계 페이지 상단에 나타납니다.", - "quickActionsList": "빠른 작업 목록", - "addQuickAction": "빠른 작업 추가", - "quickActionName": "작업 이름", - "noSnippetFound": "스니펫을 찾을 수 없습니다", - "quickActionsOrder": "빠른 작업 버튼은 서버 통계 페이지에 위에 나열된 순서대로 나타납니다", - "advancedAuthSettings": "고급 인증 설정" - }, - "terminal": { - "title": "터미널", - "connect": "호스트에 연결", - "disconnect": "연결 해제", - "clear": "지우기", - "copy": "복사", - "paste": "붙여넣기", - "find": "찾기", - "fullscreen": "전체 화면", - "splitHorizontal": "가로 분할", - "splitVertical": "세로 분할", - "closePanel": "패널 닫기", - "reconnect": "재연결", - "sessionEnded": "세션 종료됨", - "connectionLost": "연결 끊김", - "error": "오류: {{message}}", - "disconnected": "연결 해제됨", - "connectionClosed": "연결이 닫혔습니다", - "connectionError": "연결 오류: {{message}}", - "connected": "연결됨", - "sshConnected": "SSH 연결이 설정되었습니다", - "authError": "인증 실패: {{message}}", - "unknownError": "알 수 없는 오류가 발생했습니다", - "messageParseError": "서버 메시지 파싱 실패", - "websocketError": "WebSocket 연결 오류", - "connecting": "연결 중...", - "reconnecting": "재연결 중... ({{attempt}}/{{max}})", - "reconnected": "성공적으로 재연결되었습니다", - "maxReconnectAttemptsReached": "최대 재연결 시도 횟수에 도달했습니다", - "connectionTimeout": "연결 시간 초과", - "terminalTitle": "터미널 - {{host}}", - "terminalWithPath": "터미널 - {{host}}:{{path}}", - "runTitle": "{{command}} 실행 중 - {{host}}", - "totpRequired": "2단계 인증 필요", - "totpCodeLabel": "인증 코드", - "totpPlaceholder": "000000", - "totpVerify": "확인" - }, - "fileManager": { - "title": "파일 관리자", - "file": "파일", - "folder": "폴더", - "connectToSsh": "파일 작업을 사용하려면 SSH에 연결하세요", - "uploadFile": "파일 업로드", - "downloadFile": "다운로드", - "extractArchive": "압축 해제", - "extractingArchive": "{{name}} 압축 해제 중...", - "archiveExtractedSuccessfully": "{{name}}이(가) 성공적으로 압축 해제되었습니다", - "extractFailed": "압축 해제 실패", - "compressFile": "파일 압축", - "compressFiles": "파일 압축", - "compressFilesDesc": "{{count}}개 항목을 압축 파일로 압축", - "archiveName": "압축 파일 이름", - "enterArchiveName": "압축 파일 이름 입력...", - "compressionFormat": "압축 형식", - "selectedFiles": "선택된 파일", - "andMoreFiles": "및 {{count}}개 더...", - "compress": "압축", - "compressingFiles": "{{count}}개 항목을 {{name}}(으)로 압축 중...", - "filesCompressedSuccessfully": "{{name}}이(가) 성공적으로 생성되었습니다", - "compressFailed": "압축 실패", - "edit": "편집", - "preview": "미리보기", - "previous": "이전", - "next": "다음", - "pageXOfY": "{{current}} / {{total}} 페이지", - "zoomOut": "축소", - "zoomIn": "확대", - "newFile": "새 파일", - "newFolder": "새 폴더", - "rename": "이름 변경", - "renameItem": "항목 이름 변경", - "deleteItem": "항목 삭제", - "currentPath": "현재 경로", - "uploadFileTitle": "파일 업로드", - "maxFileSize": "최대: 1GB (JSON) / 5GB (바이너리) - 대용량 파일 지원", - "removeFile": "파일 제거", - "clickToSelectFile": "클릭하여 파일 선택", - "chooseFile": "파일 선택", - "uploading": "업로드 중...", - "downloading": "다운로드 중...", - "uploadingFile": "{{name}} 업로드 중...", - "uploadingLargeFile": "대용량 파일 {{name}} ({{size}}) 업로드 중...", - "downloadingFile": "{{name}} 다운로드 중...", - "creatingFile": "{{name}} 생성 중...", - "creatingFolder": "{{name}} 생성 중...", - "deletingItem": "{{type}} {{name}} 삭제 중...", - "renamingItem": "{{type}} {{oldName}}을(를) {{newName}}(으)로 이름 변경 중...", - "createNewFile": "새 파일 생성", - "fileName": "파일 이름", - "creating": "생성 중...", - "createFile": "파일 생성", - "createNewFolder": "새 폴더 생성", - "folderName": "폴더 이름", - "createFolder": "폴더 생성", - "warningCannotUndo": "경고: 이 작업은 취소할 수 없습니다", - "itemPath": "항목 경로", - "thisIsDirectory": "디렉터리입니다 (재귀적으로 삭제됩니다)", - "deleting": "삭제 중...", - "currentPathLabel": "현재 경로", - "newName": "새 이름", - "thisIsDirectoryRename": "디렉터리입니다", - "renaming": "이름 변경 중...", - "fileUploadedSuccessfully": "파일 \"{{name}}\"이(가) 성공적으로 업로드되었습니다", - "failedToUploadFile": "파일 업로드 실패", - "fileDownloadedSuccessfully": "파일 \"{{name}}\"이(가) 성공적으로 다운로드되었습니다", - "failedToDownloadFile": "파일 다운로드 실패", - "noFileContent": "파일 내용이 수신되지 않았습니다", - "filePath": "파일 경로", - "fileCreatedSuccessfully": "파일 \"{{name}}\"이(가) 성공적으로 생성되었습니다", - "failedToCreateFile": "파일 생성 실패", - "folderCreatedSuccessfully": "폴더 \"{{name}}\"이(가) 성공적으로 생성되었습니다", - "failedToCreateFolder": "폴더 생성 실패", - "failedToCreateItem": "항목 생성 실패", - "operationFailed": "{{name}}에 대한 {{operation}} 작업 실패: {{error}}", - "failedToResolveSymlink": "심볼릭 링크 해석 실패", - "itemDeletedSuccessfully": "{{type}}이(가) 성공적으로 삭제되었습니다", - "itemsDeletedSuccessfully": "{{count}}개 항목이 성공적으로 삭제되었습니다", - "failedToDeleteItems": "항목 삭제 실패", - "dragFilesToUpload": "업로드할 파일을 여기에 드롭하세요", - "emptyFolder": "이 폴더는 비어 있습니다", - "itemCount": "{{count}}개 항목", - "selectedCount": "{{count}}개 선택됨", - "searchFiles": "파일 검색...", - "upload": "업로드", - "selectHostToStart": "파일 관리를 시작하려면 호스트를 선택하세요", - "failedToConnect": "SSH 연결 실패", - "failedToLoadDirectory": "디렉터리 로드 실패", - "noSSHConnection": "사용 가능한 SSH 연결이 없습니다", - "enterFolderName": "폴더 이름 입력:", - "enterFileName": "파일 이름 입력:", - "copy": "복사", - "cut": "잘라내기", - "paste": "붙여넣기", - "copyPath": "경로 복사", - "copyPaths": "경로 복사", - "delete": "삭제", - "properties": "속성", - "preview": "미리보기", - "refresh": "새로 고침", - "downloadFiles": "{{count}}개 파일을 브라우저로 다운로드", - "copyFiles": "{{count}}개 항목 복사", - "cutFiles": "{{count}}개 항목 잘라내기", - "deleteFiles": "{{count}}개 항목 삭제", - "filesCopiedToClipboard": "{{count}}개 항목이 클립보드에 복사되었습니다", - "filesCutToClipboard": "{{count}}개 항목이 클립보드에 잘라내기되었습니다", - "pathCopiedToClipboard": "경로가 클립보드에 복사되었습니다", - "pathsCopiedToClipboard": "{{count}}개 경로가 클립보드에 복사되었습니다", - "failedToCopyPath": "경로를 클립보드에 복사하는 데 실패했습니다", - "movedItems": "{{count}}개 항목이 이동되었습니다", - "failedToDeleteItem": "항목 삭제 실패", - "itemRenamedSuccessfully": "{{type}}의 이름이 성공적으로 변경되었습니다", - "failedToRenameItem": "항목 이름 변경 실패", - "upload": "업로드", - "download": "다운로드", - "newFile": "새 파일", - "newFolder": "새 폴더", - "rename": "이름 변경", - "delete": "삭제", - "permissions": "권한", - "size": "크기", - "modified": "수정됨", - "path": "경로", - "fileName": "파일 이름", - "folderName": "폴더 이름", - "confirmDelete": "{{name}}을(를) 삭제하시겠습니까?", - "uploadSuccess": "파일이 성공적으로 업로드되었습니다", - "uploadFailed": "파일 업로드 실패", - "downloadSuccess": "파일이 성공적으로 다운로드되었습니다", - "downloadFailed": "파일 다운로드 실패", - "permissionDenied": "권한이 거부되었습니다", - "checkDockerLogs": "자세한 오류 정보는 Docker 로그를 확인하세요", - "internalServerError": "내부 서버 오류가 발생했습니다", - "serverError": "서버 오류", - "error": "오류", - "requestFailed": "요청 실패, 상태 코드", - "unknownFileError": "알 수 없음", - "cannotReadFile": "파일을 읽을 수 없습니다", - "noSshSessionId": "사용 가능한 SSH 세션 ID가 없습니다", - "noFilePath": "사용 가능한 파일 경로가 없습니다", - "noCurrentHost": "사용 가능한 현재 호스트가 없습니다", - "fileSavedSuccessfully": "파일이 성공적으로 저장되었습니다", - "saveTimeout": "저장 작업 시간 초과. 파일이 성공적으로 저장되었을 수 있지만 작업 완료에 시간이 너무 오래 걸렸습니다. 확인을 위해 Docker 로그를 확인하세요.", - "failedToSaveFile": "파일 저장 실패", - "folder": "폴더", - "file": "파일", - "deletedSuccessfully": "성공적으로 삭제되었습니다", - "failedToDeleteItem": "항목 삭제 실패", - "connectToServer": "서버에 연결", - "selectServerToEdit": "사이드바에서 서버를 선택하여 파일 편집 시작", - "fileOperations": "파일 작업", - "confirmDeleteMessage": "{{name}}을(를) 삭제하시겠습니까?", - "confirmDeleteSingleItem": "\"{{name}}\"을(를) 영구적으로 삭제하시겠습니까?", - "confirmDeleteMultipleItems": "{{count}}개 항목을 영구적으로 삭제하시겠습니까?", - "confirmDeleteMultipleItemsWithFolders": "{{count}}개 항목을 영구적으로 삭제하시겠습니까? 폴더와 그 내용이 포함됩니다.", - "confirmDeleteFolder": "폴더 \"{{name}}\"과(와) 모든 내용을 영구적으로 삭제하시겠습니까?", - "deleteDirectoryWarning": "폴더와 모든 내용이 삭제됩니다.", - "actionCannotBeUndone": "이 작업은 취소할 수 없습니다.", - "permanentDeleteWarning": "이 작업은 취소할 수 없습니다. 항목이 서버에서 영구적으로 삭제됩니다.", - "recent": "최근", - "pinned": "고정됨", - "folderShortcuts": "폴더 바로가기", - "noRecentFiles": "최근 파일이 없습니다.", - "noPinnedFiles": "고정된 파일이 없습니다.", - "enterFolderPath": "폴더 경로 입력", - "noShortcuts": "바로가기가 없습니다.", - "searchFilesAndFolders": "파일 및 폴더 검색...", - "noFilesOrFoldersFound": "파일 또는 폴더를 찾을 수 없습니다.", - "failedToConnectSSH": "SSH 연결 실패", - "failedToReconnectSSH": "SSH 세션 재연결 실패", - "failedToListFiles": "파일 목록 가져오기 실패", - "fetchHomeDataTimeout": "홈 데이터 가져오기 시간 초과", - "sshStatusCheckTimeout": "SSH 상태 확인 시간 초과", - "sshReconnectionTimeout": "SSH 재연결 시간 초과", - "saveOperationTimeout": "저장 작업 시간 초과", - "cannotSaveFile": "파일을 저장할 수 없습니다", - "dragSystemFilesToUpload": "시스템 파일을 여기로 드래그하여 업로드", - "dragFilesToWindowToDownload": "파일을 창 밖으로 드래그하여 다운로드", - "openTerminalHere": "여기서 터미널 열기", - "run": "실행", - "saveToSystem": "다른 이름으로 저장...", - "selectLocationToSave": "저장 위치 선택", - "openTerminalInFolder": "이 폴더에서 터미널 열기", - "openTerminalInFileLocation": "파일 위치에서 터미널 열기", - "terminalWithPath": "터미널 - {{host}}:{{path}}", - "runningFile": "실행 중 - {{file}}", - "onlyRunExecutableFiles": "실행 가능한 파일만 실행할 수 있습니다", - "noHostSelected": "선택된 호스트 없음", - "starred": "즐겨찾기", - "shortcuts": "바로가기", - "directories": "디렉터리", - "removedFromRecentFiles": "최근 파일에서 \"{{name}}\"이(가) 제거되었습니다", - "removeFailed": "제거 실패", - "unpinnedSuccessfully": "\"{{name}}\"의 고정이 성공적으로 해제되었습니다", - "unpinFailed": "고정 해제 실패", - "removedShortcut": "바로가기 \"{{name}}\"이(가) 제거되었습니다", - "removeShortcutFailed": "바로가기 제거 실패", - "clearedAllRecentFiles": "모든 최근 파일이 지워졌습니다", - "clearFailed": "지우기 실패", - "removeFromRecentFiles": "최근 파일에서 제거", - "clearAllRecentFiles": "모든 최근 파일 지우기", - "unpinFile": "파일 고정 해제", - "removeShortcut": "바로가기 제거", - "saveFilesToSystem": "{{count}}개 파일을 다른 이름으로 저장...", - "saveToSystem": "다른 이름으로 저장...", - "pinFile": "파일 고정", - "addToShortcuts": "바로가기에 추가", - "selectLocationToSave": "저장 위치 선택", - "downloadToDefaultLocation": "기본 위치로 다운로드", - "pasteFailed": "붙여넣기 실패", - "noUndoableActions": "실행 취소할 작업이 없습니다", - "undoCopySuccess": "복사 작업 실행 취소: {{count}}개 복사된 파일 삭제됨", - "undoCopyFailedDelete": "실행 취소 실패: 복사된 파일을 삭제할 수 없습니다", - "undoCopyFailedNoInfo": "실행 취소 실패: 복사된 파일 정보를 찾을 수 없습니다", - "undoMoveSuccess": "이동 작업 실행 취소: {{count}}개 파일을 원래 위치로 이동함", - "undoMoveFailedMove": "실행 취소 실패: 파일을 되돌릴 수 없습니다", - "undoMoveFailedNoInfo": "실행 취소 실패: 이동된 파일 정보를 찾을 수 없습니다", - "undoDeleteNotSupported": "삭제 작업은 실행 취소할 수 없습니다: 파일이 서버에서 영구적으로 삭제되었습니다", - "undoTypeNotSupported": "지원되지 않는 실행 취소 작업 유형", - "undoOperationFailed": "실행 취소 작업 실패", - "unknownError": "알 수 없는 오류", - "enterPath": "경로 입력...", - "editPath": "경로 편집", - "confirm": "확인", - "cancel": "취소", - "folderName": "폴더 이름", - "find": "찾기...", - "replaceWith": "바꿀 내용...", - "replace": "바꾸기", - "replaceAll": "모두 바꾸기", - "downloadInstead": "대신 다운로드", - "keyboardShortcuts": "키보드 단축키", - "searchAndReplace": "검색 및 바꾸기", - "editing": "편집", - "navigation": "탐색", - "code": "코드", - "search": "검색", - "findNext": "다음 찾기", - "findPrevious": "이전 찾기", - "save": "저장", - "selectAll": "모두 선택", - "undo": "실행 취소", - "redo": "다시 실행", - "goToLine": "줄로 이동", - "moveLineUp": "줄 위로 이동", - "moveLineDown": "줄 아래로 이동", - "toggleComment": "주석 토글", - "indent": "들여쓰기", - "outdent": "내어쓰기", - "autoComplete": "자동 완성", - "imageLoadError": "이미지 로드 실패", - "zoomIn": "확대", - "zoomOut": "축소", - "rotate": "회전", - "originalSize": "원본 크기", - "startTyping": "입력 시작...", - "unknownSize": "알 수 없는 크기", - "fileIsEmpty": "파일이 비어 있습니다", - "modified": "수정됨", - "largeFileWarning": "대용량 파일 경고", - "largeFileWarningDesc": "이 파일의 크기는 {{size}}이며, 텍스트로 열 때 성능 문제가 발생할 수 있습니다.", - "fileNotFoundAndRemoved": "파일 \"{{name}}\"을(를) 찾을 수 없어 최근/고정 파일에서 제거되었습니다", - "failedToLoadFile": "파일 로드 실패: {{error}}", - "serverErrorOccurred": "서버 오류가 발생했습니다. 나중에 다시 시도하세요.", - "fileSavedSuccessfully": "파일이 성공적으로 저장되었습니다", - "autoSaveFailed": "자동 저장 실패", - "fileAutoSaved": "파일 자동 저장됨", - "fileDownloadedSuccessfully": "파일이 성공적으로 다운로드되었습니다", - "moveFileFailed": "{{name}} 이동 실패", - "moveOperationFailed": "이동 작업 실패", - "canOnlyCompareFiles": "두 개의 파일만 비교할 수 있습니다", - "comparingFiles": "파일 비교 중: {{file1}}과(와) {{file2}}", - "dragFailed": "드래그 작업 실패", - "filePinnedSuccessfully": "파일 \"{{name}}\"이(가) 성공적으로 고정되었습니다", - "pinFileFailed": "파일 고정 실패", - "fileUnpinnedSuccessfully": "파일 \"{{name}}\"의 고정이 성공적으로 해제되었습니다", - "unpinFileFailed": "파일 고정 해제 실패", - "shortcutAddedSuccessfully": "폴더 바로가기 \"{{name}}\"이(가) 성공적으로 추가되었습니다", - "addShortcutFailed": "바로가기 추가 실패", - "operationCompletedSuccessfully": "{{count}}개 항목 {{operation}} 성공", - "operationCompleted": "{{count}}개 항목 {{operation}}", - "downloadFileSuccess": "파일 {{name}}이(가) 성공적으로 다운로드되었습니다", - "downloadFileFailed": "다운로드 실패", - "moveTo": "{{name}}(으)로 이동", - "diffCompareWith": "{{name}}과(와) 차이 비교", - "dragOutsideToDownload": "창 밖으로 드래그하여 다운로드 ({{count}}개 파일)", - "newFolderDefault": "NewFolder", - "newFileDefault": "NewFile.txt", - "successfullyMovedItems": "{{count}}개 항목을 {{target}}(으)로 성공적으로 이동했습니다", - "move": "이동", - "searchInFile": "파일에서 검색 (Ctrl+F)", - "showKeyboardShortcuts": "키보드 단축키 표시", - "startWritingMarkdown": "마크다운 콘텐츠 작성 시작...", - "loadingFileComparison": "파일 비교 로드 중...", - "reload": "다시 로드", - "compare": "비교", - "sideBySide": "나란히", - "inline": "인라인", - "fileComparison": "파일 비교: {{file1}} vs {{file2}}", - "fileTooLarge": "파일이 너무 큽니다: {{error}}", - "sshConnectionFailed": "SSH 연결 실패. {{name}} ({{ip}}:{{port}})에 대한 연결을 확인하세요", - "loadFileFailed": "파일 로드 실패: {{error}}", - "connectedSuccessfully": "성공적으로 연결되었습니다", - "totpVerificationFailed": "TOTP 확인 실패", - "changePermissions": "권한 변경", - "changePermissionsDesc": "파일 권한 수정", - "currentPermissions": "현재 권한", - "newPermissions": "새 권한", - "owner": "소유자", - "group": "그룹", - "others": "기타", - "read": "읽기", - "write": "쓰기", - "execute": "실행", - "permissionsChangedSuccessfully": "권한이 성공적으로 변경되었습니다", - "failedToChangePermissions": "권한 변경 실패" - }, - "tunnels": { - "title": "SSH 터널", - "noSshTunnels": "SSH 터널 없음", - "createFirstTunnelMessage": "아직 SSH 터널을 생성하지 않았습니다. 시작하려면 호스트 관리자에서 터널 연결을 구성하세요.", - "connected": "연결됨", - "disconnected": "연결 해제됨", - "connecting": "연결 중...", - "disconnecting": "연결 해제 중...", - "unknownTunnelStatus": "알 수 없음", - "unknown": "알 수 없음", - "error": "오류", - "failed": "실패", - "retrying": "재시도 중", - "waiting": "대기 중", - "waitingForRetry": "재시도 대기 중", - "retryingConnection": "연결 재시도 중", - "canceling": "취소 중...", - "connect": "연결", - "disconnect": "연결 해제", - "cancel": "취소", - "port": "포트", - "attempt": "시도 {{current}}/{{max}}", - "nextRetryIn": "{{seconds}}초 후 재시도", - "checkDockerLogs": "오류 원인은 Docker 로그를 확인하거나", - "noTunnelConnections": "구성된 터널 연결 없음", - "tunnelConnections": "터널 연결", - "addTunnel": "터널 추가", - "editTunnel": "터널 편집", - "deleteTunnel": "터널 삭제", - "tunnelName": "터널 이름", - "localPort": "로컬 포트", - "remoteHost": "원격 호스트", - "remotePort": "원격 포트", - "autoStart": "자동 시작", - "status": "상태", - "active": "활성", - "inactive": "비활성", - "start": "시작", - "stop": "중지", - "restart": "재시작", - "connectionType": "연결 유형", - "local": "로컬", - "remote": "원격", - "dynamic": "동적", - "noSshTunnels": "SSH 터널 없음", - "createFirstTunnelMessage": "첫 번째 SSH 터널을 생성하여 시작하세요. SSH 관리자를 사용하여 터널 연결이 있는 호스트를 추가하세요.", - "unknownConnectionStatus": "알 수 없음", - "connected": "연결됨", - "connecting": "연결 중...", - "disconnecting": "연결 해제 중...", - "disconnected": "연결 해제됨", - "portMapping": "포트 {{sourcePort}} → {{endpointHost}}:{{endpointPort}}", - "disconnect": "연결 해제", - "connect": "연결", - "canceling": "취소 중...", - "endpointHostNotFound": "엔드포인트 호스트를 찾을 수 없습니다", - "discord": "Discord", - "githubIssue": "GitHub 이슈", - "forHelp": "에서 도움을 받으세요" - }, - "serverStats": { - "title": "서버 통계", - "cpu": "CPU", - "memory": "메모리", - "disk": "디스크", - "network": "네트워크", - "uptime": "가동 시간", - "loadAverage": "평균 부하", - "processes": "프로세스", - "connections": "연결", - "usage": "사용량", - "available": "사용 가능", - "total": "전체", - "free": "여유", - "used": "사용됨", - "percentage": "백분율", - "refreshStatusAndMetrics": "상태 및 메트릭 새로 고침", - "refreshStatus": "상태 새로 고침", - "fileManagerAlreadyOpen": "이 호스트에 대한 파일 관리자가 이미 열려 있습니다", - "openFileManager": "파일 관리자 열기", - "cpuCores_one": "{{count}}개 CPU", - "cpuCores_other": "{{count}}개 CPU", - "naCpus": "N/A CPU", - "loadAverage": "평균: {{avg1}}, {{avg5}}, {{avg15}}", - "loadAverageNA": "평균: N/A", - "cpuUsage": "CPU 사용량", - "memoryUsage": "메모리 사용량", - "diskUsage": "디스크 사용량", - "rootStorageSpace": "루트 저장 공간", - "of": "/", - "feedbackMessage": "서버 관리를 위해 다음에 추가되어야 할 아이디어가 있으신가요? 공유하세요", - "failedToFetchHostConfig": "호스트 구성 가져오기 실패", - "failedToFetchStatus": "서버 상태 가져오기 실패", - "failedToFetchMetrics": "서버 메트릭 가져오기 실패", - "failedToFetchHomeData": "홈 데이터 가져오기 실패", - "loadingMetrics": "메트릭 로드 중...", - "refreshing": "새로 고침 중...", - "serverOffline": "서버 오프라인", - "cannotFetchMetrics": "오프라인 서버에서 메트릭을 가져올 수 없습니다", - "totpRequired": "TOTP 인증 필요", - "totpUnavailable": "TOTP가 활성화된 서버에서는 서버 통계를 사용할 수 없습니다", - "load": "부하", - "available": "사용 가능", - "editLayout": "레이아웃 편집", - "cancelEdit": "취소", - "addWidget": "위젯 추가", - "saveLayout": "레이아웃 저장", - "unsavedChanges": "저장되지 않은 변경사항", - "layoutSaved": "레이아웃이 성공적으로 저장되었습니다", - "failedToSaveLayout": "레이아웃 저장 실패", - "systemInfo": "시스템 정보", - "hostname": "호스트 이름", - "operatingSystem": "운영 체제", - "kernel": "커널", - "totalUptime": "총 가동 시간", - "seconds": "초", - "networkInterfaces": "네트워크 인터페이스", - "noInterfacesFound": "네트워크 인터페이스를 찾을 수 없습니다", - "totalProcesses": "총 프로세스", - "running": "실행 중", - "noProcessesFound": "프로세스를 찾을 수 없습니다", - "loginStats": "SSH 로그인 통계", - "totalLogins": "총 로그인", - "uniqueIPs": "고유 IP", - "recentSuccessfulLogins": "최근 성공한 로그인", - "recentFailedAttempts": "최근 실패한 시도", - "noRecentLoginData": "최근 로그인 데이터 없음", - "from": "출처", - "quickActions": "빠른 작업", - "executeQuickAction": "{{name}} 실행", - "executingQuickAction": "{{name}} 실행 중...", - "quickActionSuccess": "{{name}}이(가) 성공적으로 완료되었습니다", - "quickActionFailed": "{{name}} 실패", - "quickActionError": "{{name}} 실행 실패" - }, - "auth": { - "tagline": "SSH 서버 관리자", - "description": "안전하고 강력하며 직관적인 SSH 연결 관리", - "welcomeBack": "TERMIX에 다시 오신 것을 환영합니다", - "createAccount": "TERMIX 계정 만들기", - "continueExternal": "외부 공급자로 계속", - "loginTitle": "Termix 로그인", - "registerTitle": "계정 만들기", - "loginButton": "로그인", - "registerButton": "등록", - "forgotPassword": "비밀번호를 잊으셨나요?", - "rememberMe": "로그인 상태 유지", - "noAccount": "계정이 없으신가요?", - "hasAccount": "이미 계정이 있으신가요?", - "loginSuccess": "로그인 성공", - "loginFailed": "로그인 실패", - "registerSuccess": "등록 성공", - "registerFailed": "등록 실패", - "logoutSuccess": "성공적으로 로그아웃되었습니다", - "invalidCredentials": "잘못된 사용자 이름 또는 비밀번호", - "accountCreated": "계정이 성공적으로 생성되었습니다", - "passwordReset": "비밀번호 재설정 링크가 전송되었습니다", - "twoFactorAuth": "2단계 인증", - "enterCode": "인증 코드 입력", - "backupCode": "또는 백업 코드 사용", - "verifyCode": "코드 확인", - "redirectingToApp": "앱으로 리디렉션 중...", - "enableTwoFactor": "2단계 인증 활성화", - "disableTwoFactor": "2단계 인증 비활성화", - "scanQRCode": "인증 앱으로 이 QR 코드를 스캔하세요", - "backupCodes": "백업 코드", - "saveBackupCodes": "이 백업 코드를 안전한 곳에 저장하세요", - "twoFactorEnabledSuccess": "2단계 인증이 성공적으로 활성화되었습니다!", - "twoFactorDisabled": "2단계 인증이 비활성화되었습니다", - "newBackupCodesGenerated": "새 백업 코드가 생성되었습니다", - "backupCodesDownloaded": "백업 코드가 다운로드되었습니다", - "pleaseEnterSixDigitCode": "6자리 코드를 입력하세요", - "invalidVerificationCode": "잘못된 인증 코드", - "failedToDisableTotp": "TOTP 비활성화 실패", - "failedToGenerateBackupCodes": "백업 코드 생성 실패", - "enterPassword": "비밀번호 입력", - "lockedOidcAuth": "잠김 (OIDC 인증)", - "twoFactorTitle": "2단계 인증", - "twoFactorProtected": "귀하의 계정은 2단계 인증으로 보호됩니다", - "twoFactorActive": "2단계 인증이 현재 계정에서 활성화되어 있습니다", - "disable2FA": "2FA 비활성화", - "disableTwoFactorWarning": "2단계 인증을 비활성화하면 계정 보안이 약화됩니다", - "passwordOrTotpCode": "비밀번호 또는 TOTP 코드", - "or": "또는", - "generateNewBackupCodesText": "기존 백업 코드를 분실한 경우 새 백업 코드를 생성하세요", - "generateNewBackupCodes": "새 백업 코드 생성", - "yourBackupCodes": "백업 코드", - "download": "다운로드", - "setupTwoFactorTitle": "2단계 인증 설정", - "sshAuthenticationRequired": "SSH 인증 필요", - "sshNoKeyboardInteractive": "키보드 대화형 인증 사용 불가", - "sshAuthenticationFailed": "인증 실패", - "sshAuthenticationTimeout": "인증 시간 초과", - "sshNoKeyboardInteractiveDescription": "서버가 키보드 대화형 인증을 지원하지 않습니다. 비밀번호 또는 SSH 키를 제공하세요.", - "sshAuthFailedDescription": "제공된 자격 증명이 올바르지 않습니다. 유효한 자격 증명으로 다시 시도하세요.", - "sshTimeoutDescription": "인증 시도가 시간 초과되었습니다. 다시 시도하세요.", - "sshProvideCredentialsDescription": "이 서버에 연결하려면 SSH 자격 증명을 제공하세요.", - "sshPasswordDescription": "이 SSH 연결의 비밀번호를 입력하세요.", - "sshKeyPasswordDescription": "SSH 키가 암호화된 경우 여기에 암호를 입력하세요.", - "step1ScanQR": "1단계: 인증 앱으로 QR 코드 스캔", - "manualEntryCode": "수동 입력 코드", - "cannotScanQRText": "QR 코드를 스캔할 수 없는 경우 인증 앱에 이 코드를 수동으로 입력하세요", - "nextVerifyCode": "다음: 코드 확인", - "verifyAuthenticator": "인증 앱 확인", - "step2EnterCode": "2단계: 인증 앱에서 6자리 코드 입력", - "verificationCode": "인증 코드", - "back": "뒤로", - "verifyAndEnable": "확인 및 활성화", - "saveBackupCodesTitle": "백업 코드 저장", - "step3StoreCodesSecurely": "3단계: 이 코드를 안전한 곳에 저장", - "importantBackupCodesText": "이 백업 코드를 안전한 위치에 저장하세요. 인증 장치를 분실한 경우 이 코드를 사용하여 계정에 액세스할 수 있습니다.", - "completeSetup": "설정 완료", - "notEnabledText": "2단계 인증은 로그인 시 인증 앱의 코드를 요구하여 추가 보안 계층을 제공합니다.", - "enableTwoFactorButton": "2단계 인증 활성화", - "addExtraSecurityLayer": "계정에 추가 보안 계층 추가", - "firstUser": "첫 번째 사용자", - "firstUserMessage": "귀하는 첫 번째 사용자이며 관리자로 지정됩니다. 사이드바 사용자 드롭다운에서 관리자 설정을 볼 수 있습니다. 이것이 실수라고 생각되면 Docker 로그를 확인하거나 GitHub 이슈를 생성하세요.", - "external": "외부", - "loginWithExternal": "외부 공급자로 로그인", - "loginWithExternalDesc": "구성된 외부 ID 공급자를 사용하여 로그인", - "externalNotSupportedInElectron": "외부 인증은 아직 Electron 앱에서 지원되지 않습니다. OIDC 로그인을 위해 웹 버전을 사용하세요.", - "resetPasswordButton": "비밀번호 재설정", - "sendResetCode": "재설정 코드 전송", - "resetCodeDesc": "사용자 이름을 입력하여 비밀번호 재설정 코드를 받으세요. 코드는 Docker 컨테이너 로그에 기록됩니다.", - "resetCode": "재설정 코드", - "verifyCodeButton": "코드 확인", - "enterResetCode": "사용자에 대한 Docker 컨테이너 로그에서 6자리 코드 입력:", - "goToLogin": "로그인으로 이동", - "newPassword": "새 비밀번호", - "confirmNewPassword": "비밀번호 확인", - "enterNewPassword": "사용자에 대한 새 비밀번호 입력:", - "signUp": "가입", - "mobileApp": "모바일 앱", - "loggingInToMobileApp": "모바일 앱에 로그인 중", - "desktopApp": "데스크톱 앱", - "loggingInToDesktopApp": "데스크톱 앱에 로그인 중", - "loggingInToDesktopAppViaWeb": "웹 인터페이스를 통해 데스크톱 앱에 로그인 중", - "loadingServer": "서버 로드 중...", - "authenticating": "인증 중...", - "dataLossWarning": "이 방법으로 비밀번호를 재설정하면 저장된 모든 SSH 호스트, 자격 증명 및 기타 암호화된 데이터가 삭제됩니다. 이 작업은 취소할 수 없습니다. 비밀번호를 잊어버렸고 로그인되어 있지 않은 경우에만 사용하세요.", - "authenticationDisabled": "인증 비활성화됨", - "authenticationDisabledDesc": "현재 모든 인증 방법이 비활성화되어 있습니다. 관리자에게 문의하세요." - }, - "errors": { - "notFound": "페이지를 찾을 수 없습니다", - "unauthorized": "권한 없는 액세스", - "forbidden": "액세스 금지", - "serverError": "서버 오류", - "networkError": "네트워크 오류", - "databaseConnection": "데이터베이스에 연결할 수 없습니다", - "unknownError": "알 수 없는 오류", - "loginFailed": "로그인 실패", - "failedPasswordReset": "비밀번호 재설정 시작 실패", - "failedVerifyCode": "재설정 코드 확인 실패", - "failedCompleteReset": "비밀번호 재설정 완료 실패", - "invalidTotpCode": "잘못된 TOTP 코드", - "failedOidcLogin": "OIDC 로그인 시작 실패", - "failedUserInfo": "OIDC 로그인 후 사용자 정보 가져오기 실패", - "oidcAuthFailed": "OIDC 인증 실패", - "noTokenReceived": "로그인에서 토큰을 받지 못했습니다", - "invalidAuthUrl": "백엔드에서 잘못된 인증 URL을 받았습니다", - "invalidInput": "잘못된 입력", - "requiredField": "이 필드는 필수입니다", - "minLength": "최소 길이는 {{min}}입니다", - "maxLength": "최대 길이는 {{max}}입니다", - "invalidEmail": "잘못된 이메일 주소", - "passwordMismatch": "비밀번호가 일치하지 않습니다", - "passwordLoginDisabled": "사용자 이름/비밀번호 로그인이 현재 비활성화되어 있습니다", - "weakPassword": "비밀번호가 너무 약합니다", - "usernameExists": "사용자 이름이 이미 존재합니다", - "emailExists": "이메일이 이미 존재합니다", - "loadFailed": "데이터 로드 실패", - "saveError": "저장 실패", - "sessionExpired": "세션이 만료되었습니다 - 다시 로그인하세요" - }, - "messages": { - "saveSuccess": "성공적으로 저장되었습니다", - "saveError": "저장 실패", - "deleteSuccess": "성공적으로 삭제되었습니다", - "deleteError": "삭제 실패", - "updateSuccess": "성공적으로 업데이트되었습니다", - "updateError": "업데이트 실패", - "copySuccess": "클립보드에 복사되었습니다", - "copyError": "복사 실패", - "copiedToClipboard": "{{item}}이(가) 클립보드에 복사되었습니다", - "connectionEstablished": "연결이 설정되었습니다", - "connectionClosed": "연결이 닫혔습니다", - "reconnecting": "재연결 중...", - "processing": "처리 중...", - "pleaseWait": "잠시 기다려주세요...", - "registrationDisabled": "새 계정 등록이 현재 관리자에 의해 비활성화되어 있습니다. 로그인하거나 관리자에게 문의하세요.", - "databaseConnected": "데이터베이스가 성공적으로 연결되었습니다", - "databaseConnectionFailed": "데이터베이스 서버에 연결하지 못했습니다", - "checkServerConnection": "서버 연결을 확인하고 다시 시도하세요", - "resetCodeSent": "재설정 코드가 Docker 로그로 전송되었습니다", - "codeVerified": "코드가 성공적으로 확인되었습니다", - "passwordResetSuccess": "비밀번호가 성공적으로 재설정되었습니다", - "loginSuccess": "로그인 성공", - "registrationSuccess": "등록 성공" - }, - "profile": { - "title": "사용자 프로필", - "description": "계정 설정 및 보안 관리", - "security": "보안", - "changePassword": "비밀번호 변경", - "twoFactorAuth": "2단계 인증", - "accountInfo": "계정 정보", - "role": "역할", - "admin": "관리자", - "user": "사용자", - "authMethod": "인증 방법", - "local": "로컬", - "external": "외부 (OIDC)", - "externalAndLocal": "이중 인증", - "selectPreferredLanguage": "인터페이스에 대한 선호 언어 선택", - "fileColorCoding": "파일 색상 코딩", - "fileColorCodingDesc": "유형별로 파일을 색상으로 구분: 폴더(빨강), 파일(파랑), 심볼릭 링크(초록)", - "commandAutocomplete": "명령 자동 완성", - "commandAutocompleteDesc": "명령 기록을 기반으로 터미널 명령에 대한 Tab 키 자동 완성 제안 활성화", - "currentPassword": "현재 비밀번호", - "passwordChangedSuccess": "비밀번호가 성공적으로 변경되었습니다! 다시 로그인하세요.", - "failedToChangePassword": "비밀번호 변경 실패. 현재 비밀번호를 확인하고 다시 시도하세요." - }, - "user": { - "failedToLoadVersionInfo": "버전 정보 로드 실패" - }, - "placeholders": { - "enterCode": "000000", - "ipAddress": "127.0.0.1", - "port": "22", - "maxRetries": "3", - "retryInterval": "10", - "language": "언어", - "username": "사용자 이름", - "hostname": "호스트 이름", - "folder": "폴더", - "password": "비밀번호", - "keyPassword": "키 비밀번호", - "pastePrivateKey": "개인 키를 여기에 붙여넣으세요...", - "pastePublicKey": "공개 키를 여기에 붙여넣으세요...", - "credentialName": "내 SSH 서버", - "description": "SSH 자격 증명 설명", - "searchCredentials": "이름, 사용자 이름 또는 태그로 자격 증명 검색...", - "sshConfig": "엔드포인트 ssh 구성", - "homePath": "/home", - "clientId": "your-client-id", - "clientSecret": "your-client-secret", - "authUrl": "https://your-provider.com/application/o/authorize/", - "redirectUrl": "https://your-provider.com/application/o/termix/", - "tokenUrl": "https://your-provider.com/application/o/token/", - "userIdField": "sub", - "usernameField": "name", - "scopes": "openid email profile", - "userinfoUrl": "https://your-provider.com/application/o/userinfo/", - "enterUsername": "관리자로 지정할 사용자 이름 입력", - "searchHosts": "이름, 사용자 이름, IP, 폴더, 태그로 호스트 검색...", - "enterPassword": "비밀번호 입력", - "totpCode": "6자리 TOTP 코드", - "searchHostsAny": "모든 정보로 호스트 검색...", - "confirmPassword": "확인을 위해 비밀번호 입력", - "typeHere": "여기에 입력", - "fileName": "파일 이름 입력 (예: example.txt)", - "folderName": "폴더 이름 입력", - "fullPath": "항목의 전체 경로 입력", - "currentPath": "항목의 현재 경로 입력", - "newName": "새 이름 입력" - }, - "leftSidebar": { - "failedToLoadHosts": "호스트 로드 실패", - "noFolder": "폴더 없음", - "passwordRequired": "비밀번호가 필요합니다", - "failedToDeleteAccount": "계정 삭제 실패", - "failedToMakeUserAdmin": "사용자를 관리자로 지정하는 데 실패했습니다", - "userIsNowAdmin": "사용자 {{username}}이(가) 이제 관리자입니다", - "removeAdminConfirm": "{{username}}의 관리자 상태를 제거하시겠습니까?", - "deleteUserConfirm": "사용자 {{username}}을(를) 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.", - "deleteAccount": "계정 삭제", - "closeDeleteAccount": "계정 삭제 닫기", - "deleteAccountWarning": "이 작업은 취소할 수 없습니다. 계정과 모든 관련 데이터가 영구적으로 삭제됩니다.", - "deleteAccountWarningDetails": "계정을 삭제하면 SSH 호스트, 구성 및 설정을 포함한 모든 데이터가 제거됩니다. 이 작업은 되돌릴 수 없습니다.", - "deleteAccountWarningShort": "이 작업은 되돌릴 수 없으며 계정이 영구적으로 삭제됩니다.", - "cannotDeleteAccount": "계정을 삭제할 수 없습니다", - "lastAdminWarning": "귀하는 마지막 관리자 사용자입니다. 시스템에 관리자가 없게 되므로 계정을 삭제할 수 없습니다. 먼저 다른 사용자를 관리자로 지정하거나 시스템 지원에 문의하세요.", - "confirmPassword": "비밀번호 확인", - "deleting": "삭제 중...", - "cancel": "취소" - }, - "interface": { - "sidebar": "사이드바", - "toggleSidebar": "사이드바 토글", - "close": "닫기", - "online": "온라인", - "offline": "오프라인", - "maintenance": "유지보수", - "degraded": "저하됨", - "noTunnelConnections": "구성된 터널 연결 없음", - "discord": "Discord", - "connectToSshForOperations": "파일 작업을 사용하려면 SSH에 연결하세요", - "uploadFile": "파일 업로드", - "newFile": "새 파일", - "newFolder": "새 폴더", - "rename": "이름 변경", - "deleteItem": "항목 삭제", - "createNewFile": "새 파일 생성", - "createNewFolder": "새 폴더 생성", - "deleteItem": "항목 삭제", - "renameItem": "항목 이름 변경", - "clickToSelectFile": "클릭하여 파일 선택", - "noSshHosts": "SSH 호스트 없음", - "sshHosts": "SSH 호스트", - "importSshHosts": "JSON에서 SSH 호스트 가져오기", - "clientId": "클라이언트 ID", - "clientSecret": "클라이언트 시크릿", - "error": "오류", - "warning": "경고", - "deleteAccount": "계정 삭제", - "closeDeleteAccount": "계정 삭제 닫기", - "cannotDeleteAccount": "계정을 삭제할 수 없습니다", - "confirmPassword": "비밀번호 확인", - "deleting": "삭제 중...", - "externalAuth": "외부 인증 (OIDC)", - "configureExternalProvider": "외부 ID 공급자 구성", - "waitingForRetry": "재시도 대기 중", - "retryingConnection": "연결 재시도 중", - "resetSplitSizes": "분할 크기 재설정", - "sshManagerAlreadyOpen": "SSH 관리자가 이미 열려 있습니다", - "disabledDuringSplitScreen": "분할 화면 중 비활성화됨", - "unknown": "알 수 없음", - "connected": "연결됨", - "disconnected": "연결 해제됨", - "maxRetriesExhausted": "최대 재시도 횟수 소진", - "endpointHostNotFound": "엔드포인트 호스트를 찾을 수 없습니다", - "administrator": "관리자", - "user": "사용자", - "external": "외부", - "local": "로컬", - "saving": "저장 중...", - "saveConfiguration": "구성 저장", - "loading": "로드 중...", - "refresh": "새로 고침", - "adding": "추가 중...", - "makeAdmin": "관리자로 지정", - "verifying": "확인 중...", - "verifyAndEnable": "확인 및 활성화", - "secretKey": "비밀 키", - "totpQrCode": "TOTP QR 코드", - "passwordRequired": "비밀번호 인증을 사용할 때 비밀번호가 필요합니다", - "sshKeyRequired": "키 인증을 사용할 때 SSH 개인 키가 필요합니다", - "keyTypeRequired": "키 인증을 사용할 때 키 유형이 필요합니다", - "validSshConfigRequired": "목록에서 유효한 SSH 구성을 선택해야 합니다", - "updateHost": "호스트 업데이트", - "addHost": "호스트 추가", - "editHost": "호스트 편집", - "pinConnection": "연결 고정", - "authentication": "인증", - "password": "비밀번호", - "key": "키", - "sshPrivateKey": "SSH 개인 키", - "keyPassword": "키 비밀번호", - "keyType": "키 유형", - "enableTerminal": "터미널 활성화", - "enableTunnel": "터널 활성화", - "enableFileManager": "파일 관리자 활성화", - "defaultPath": "기본 경로", - "tunnelConnections": "터널 연결", - "maxRetries": "최대 재시도 횟수", - "upload": "업로드", - "updateKey": "키 업데이트", - "productionFolder": "프로덕션", - "databaseServer": "데이터베이스 서버", - "developmentServer": "개발 서버", - "developmentFolder": "개발", - "webServerProduction": "웹 서버 - 프로덕션", - "unknownError": "알 수 없는 오류", - "failedToInitiatePasswordReset": "비밀번호 재설정 시작 실패", - "failedToVerifyResetCode": "재설정 코드 확인 실패", - "failedToCompletePasswordReset": "비밀번호 재설정 완료 실패", - "invalidTotpCode": "잘못된 TOTP 코드", - "failedToStartOidcLogin": "OIDC 로그인 시작 실패", - "failedToGetUserInfoAfterOidc": "OIDC 로그인 후 사용자 정보 가져오기 실패", - "loginWithExternalProvider": "외부 공급자로 로그인", - "loginWithExternal": "외부 공급자로 로그인", - "sendResetCode": "재설정 코드 전송", - "verifyCode": "코드 확인", - "resetPassword": "비밀번호 재설정", - "login": "로그인", - "signUp": "가입", - "failedToUpdateOidcConfig": "OIDC 구성 업데이트 실패", - "failedToMakeUserAdmin": "사용자를 관리자로 지정하는 데 실패했습니다", - "failedToStartTotpSetup": "TOTP 설정 시작 실패", - "invalidVerificationCode": "잘못된 인증 코드", - "failedToDisableTotp": "TOTP 비활성화 실패", - "failedToGenerateBackupCodes": "백업 코드 생성 실패" - }, - "mobile": { - "selectHostToStart": "터미널 세션을 시작하려면 호스트를 선택하세요", - "limitedSupportMessage": "웹사이트 모바일 지원은 아직 진행 중입니다. 더 나은 경험을 위해 모바일 앱을 사용하세요.", - "mobileAppInProgress": "모바일 앱 개발 중", - "mobileAppInProgressDesc": "모바일 장치에서 더 나은 경험을 제공하기 위해 전용 모바일 앱을 개발 중입니다.", - "viewMobileAppDocs": "모바일 앱 설치", - "mobileAppDocumentation": "모바일 앱 문서" - }, - "dashboard": { - "title": "대시보드", - "github": "GitHub", - "support": "지원", - "discord": "Discord", - "donate": "기부", - "serverOverview": "서버 개요", - "version": "버전", - "upToDate": "최신 상태", - "updateAvailable": "업데이트 사용 가능", - "uptime": "가동 시간", - "database": "데이터베이스", - "healthy": "정상", - "error": "오류", - "totalServers": "총 서버", - "totalTunnels": "총 터널", - "totalCredentials": "총 자격 증명", - "recentActivity": "최근 활동", - "reset": "재설정", - "loadingRecentActivity": "최근 활동 로드 중...", - "noRecentActivity": "최근 활동 없음", - "quickActions": "빠른 작업", - "addHost": "호스트 추가", - "addCredential": "자격 증명 추가", - "adminSettings": "관리자 설정", - "userProfile": "사용자 프로필", - "serverStats": "서버 통계", - "loadingServerStats": "서버 통계 로드 중...", - "noServerData": "사용 가능한 서버 데이터 없음", - "cpu": "CPU", - "ram": "RAM", - "notAvailable": "N/A" - }, - "commandPalette": { - "searchPlaceholder": "호스트 또는 빠른 작업 검색...", - "recentActivity": "최근 활동", - "navigation": "탐색", - "addHost": "호스트 추가", - "addCredential": "자격 증명 추가", - "adminSettings": "관리자 설정", - "userProfile": "사용자 프로필", - "updateLog": "업데이트 로그", - "hosts": "호스트", - "openServerDetails": "서버 세부 정보 열기", - "openFileManager": "파일 관리자 열기", - "edit": "편집", - "links": "링크", - "github": "GitHub", - "support": "지원", - "discord": "Discord", - "donate": "기부", - "press": "누르기", - "toToggle": "토글하려면", - "close": "닫기", - "hostManager": "호스트 관리자" } -} \ No newline at end of file +} diff --git a/src/locales/pt-BR/translation.json b/src/locales/pt-BR/translation.json index 71623d95..ce269404 100644 --- a/src/locales/pt-BR/translation.json +++ b/src/locales/pt-BR/translation.json @@ -28,7 +28,7 @@ "failedToFetchCredentials": "Falha ao buscar credenciais", "credentialDeletedSuccessfully": "Credencial excluída com sucesso", "failedToDeleteCredential": "Falha ao excluir credencial", - "confirmDeleteCredential": "Tem certeza que deseja excluir a credencial \"{{name}}\"?", + "confirmDeleteCredential": "Tem certeza que deseja excluir a credencial \"{{name}}\"", "credentialCreatedSuccessfully": "Credencial criada com sucesso", "credentialUpdatedSuccessfully": "Credencial atualizada com sucesso", "failedToSaveCredential": "Falha ao salvar credencial", @@ -92,7 +92,7 @@ "deploySSHKey": "Implantar Chave SSH", "deploySSHKeyDescription": "Implantar chave pública no servidor de destino", "sourceCredential": "Credencial de Origem", - "targetHost": "Host de Destinenhum", + "targetHost": "Host de Destino", "deploymentProcess": "Processo de Implantação", "deploymentProcessDescription": "Isso adicionará com segurança a chave pública ao arquivo ~/.ssh/authorized_keys do host de destino sem sobrescrever chaves existentes. A operação é reversível.", "chooseHostToDeploy": "Escolha um host para implantar...", @@ -108,6 +108,7 @@ "orCreateNewFolder": "Ou crie nova pasta", "addTag": "Adicionar tag", "saving": "Salvando...", + "credentialId": "ID da Credencial", "overview": "Visão geral", "security": "Segurança", "usage": "Uso", @@ -164,8 +165,7 @@ "generateKeyPairNote": "Gere um novo par de chaves SSH diretamente. Isso substituirá quaisquer chaves existentes no formulário.", "invalidKey": "Chave inválida", "detectionError": "Erro de detecção", - "unknown": "Desconhecido", - "credentialId": "Credencial ID" + "unknown": "Desconhecido" }, "dragIndicator": { "error": "Erro: {{error}}", @@ -188,7 +188,44 @@ "commandsWillBeSent": "Os comandos serão enviados para {{count}} terminal(is) selecionado(s).", "settings": "Configurações", "enableRightClickCopyPaste": "Habilitar copiar/colar com botão direito", - "shareIdeas": "Tem ideias sobre o que deve vir a seguir nas ferramentas SSH? Compartilhe em" + "shareIdeas": "Tem ideias sobre o que deve vir a seguir nas ferramentas SSH? Compartilhe em", + "scripts": { + "inputPlaceholder": "ex., Comandos do Sistema, Scripts Docker" + } + }, + "snippets": { + "title": "Snippets", + "new": "Novo Snippet", + "create": "Criar Snippet", + "edit": "Editar Snippet", + "run": "Executar", + "empty": "Nenhum snippet ainda", + "emptyHint": "Crie um snippet para salvar comandos comumente usados", + "name": "Nome", + "description": "Descrição", + "content": "Comando", + "namePlaceholder": "ex: Reiniciar Nginx", + "descriptionPlaceholder": "Descrição opcional", + "contentPlaceholder": "ex: sudo systemctl restart nginx", + "nameRequired": "Nome é obrigatório", + "contentRequired": "Comando é obrigatório", + "createDescription": "Criar um novo snippet de comando para execução rápida", + "editDescription": "Editar este snippet de comando", + "deleteConfirmTitle": "Excluir Snippet", + "deleteConfirmDescription": "Tem certeza de que deseja excluir \"{{name}}\"", + "createSuccess": "Snippet criado com sucesso", + "updateSuccess": "Snippet atualizado com sucesso", + "deleteSuccess": "Snippet excluído com sucesso", + "createFailed": "Falha ao criar snippet", + "updateFailed": "Falha ao atualizar snippet", + "deleteFailed": "Falha ao excluir snippet", + "failedToFetch": "Falha ao buscar snippets", + "executeSuccess": "Executando: {{name}}", + "copySuccess": "Copiado \"{{name}}\" para área de transferência", + "runTooltip": "Executar este snippet no terminal", + "copyTooltip": "Copiar snippet para área de transferência", + "editTooltip": "Editar este snippet", + "deleteTooltip": "Excluir este snippet" }, "commandHistory": { "title": "Histórico", @@ -200,7 +237,7 @@ "noResults": "Nenhum comando encontrado", "noResultsHint": "Nenhum comando correspondente a \"{{query}}\"", "deleteSuccess": "Comando removido do histórico", - "deleteFailed": "Falha ao excluir comeo.", + "deleteFailed": "Falha ao excluir comando.", "deleteTooltip": "Excluir comando", "tabHint": "Use Tab no Terminal para autocompletar do histórico de comandos" }, @@ -218,13 +255,13 @@ "testConnectionFirst": "Por favor, teste a conexão primeiro", "connectionSuccess": "Conexão bem-sucedida!", "connectionFailed": "Conexão falhou", - "connectionError": "Ocoureu um erro de conexão", + "connectionError": "Ocorreu um erro de conexão", "connected": "Conectado", "disconnected": "Desconectado", "configSaved": "Configuração salva com sucesso", "saveFailed": "Falha ao salvar configuração", "saveError": "Erro ao salvar configuração", - "saving": "Salveo...", + "saving": "Salvando...", "saveConfig": "Salvar Configuração", "helpText": "Digite a URL onde seu servidor Termix está rodando (ex.: http://localhost:30001 ou https://seu-servidor.com)", "changeServer": "Alterar Servidor", @@ -236,7 +273,7 @@ "error": "Erro na verificação de versão", "checkFailed": "Falha ao verificar atualizações", "upToDate": "Aplicativo atualizado", - "currentVersion": "Você está useo a versão {{version}}", + "currentVersion": "Você está usando a versão {{version}}", "updateAvailable": "Atualização disponível", "newVersionAvailable": "Uma nova versão está disponível! Você está usando {{current}}, mas {{latest}} está disponível.", "releasedOn": "Lançada em {{date}}", @@ -258,7 +295,7 @@ "continue": "Continuar", "maintenance": "Manutenção", "degraded": "Degradado", - "discord": "Discoud", + "discord": "Discord", "error": "Erro", "warning": "Aviso", "info": "Info", @@ -266,6 +303,9 @@ "loading": "Carregando...", "required": "Obrigatório", "optional": "Opcional", + "connect": "Conectar", + "connecting": "Conectando...", + "creating": "Criando...", "clear": "Limpar", "toggleSidebar": "Alternar Barra Lateral", "sidebar": "Barra Lateral", @@ -283,7 +323,7 @@ "newVersionAvailable": "Uma nova versão ({{version}}) está disponível.", "failedToFetchUpdateInfo": "Falha ao buscar informações de atualização", "preRelease": "Pré-lançamento", - "loginFailed": "Falha nenhum login", + "loginFailed": "Falha no login", "noReleasesFound": "Nenhuma versão encontrada.", "yourBackupCodes": "Seus Códigos de Backup", "sendResetCode": "Enviar Código de Redefinição", @@ -314,6 +354,7 @@ "submit": "Enviar", "change": "Alterar", "save": "Salvar", + "saving": "Salvando...", "delete": "Excluir", "edit": "Editar", "add": "Adicionar", @@ -330,8 +371,6 @@ "next": "Próximo", "previous": "Anterior", "refresh": "Atualizar", - "connect": "Conectar", - "connecting": "Conectando...", "settings": "Configurações", "profile": "Perfil", "help": "Ajuda", @@ -343,7 +382,7 @@ "passwordResetDescription": "Você está prestes a redefinir sua senha. Isso fará com que você seja desconectado de todas as sessões ativas.", "enterSixDigitCode": "Digite o código de 6 dígitos dos logs do container docker para o usuário:", "enterNewPassword": "Digite sua nova senha para o usuário:", - "passwordsDoNotMatch": "As senhas não courespondem", + "passwordsDoNotMatch": "As senhas não correspondem", "passwordMinLength": "A senha deve ter pelo menos 6 caracteres", "passwordResetSuccess": "Senha redefinida com sucesso! Você pode agora entrar com sua nova senha.", "failedToInitiatePasswordReset": "Falha ao iniciar redefinição de senha", @@ -353,7 +392,10 @@ "retry": "Tentar Novamente", "checking": "Verificando...", "checkingDatabase": "Verificando conexão com o banco de dados...", - "saving": "Salveo..." + "actions": "Ações", + "remove": "Remover", + "revoke": "Revogar", + "create": "Criar" }, "nav": { "home": "Início", @@ -366,1420 +408,13 @@ "admin": "Administrador", "userProfile": "Perfil do Usuário", "tools": "Ferramentas", + "snippets": "Snippets", "newTab": "Nova Aba", "splitScreen": "Dividir Tela", "closeTab": "Fechar Aba", "sshManager": "Gerenciador SSH", "hostManager": "Gerenciador de Hosts", "cannotSplitTab": "Não é possível dividir esta aba", - "tabNavigation": "Navegação de Abas", - "snippets": "Snippets" - }, - "admin": { - "title": "Configurações de Administrador", - "oidc": "OIDC", - "users": "Usuários", - "userManagement": "Gerenciamento de Usuários", - "makeAdmin": "Tornar Administrador", - "removeAdmin": "Remover Administrador", - "deleteUser": "Excluir Usuário", - "allowRegistration": "Permitir Registro", - "oidcSettings": "Configurações OIDC", - "clientId": "ID do Cliente", - "clientSecret": "Segredo do Cliente", - "issuerUrl": "URL do Emissor", - "authorizationUrl": "URL de Autorização", - "tokenUrl": "URL do Token", - "updateSettings": "Atualizar Configurações", - "confirmDelete": "Tem certeza que deseja excluir este usuário?", - "confirmMakeAdmin": "Tem certeza que deseja tornar este usuário um administrador?", - "confirmRemoveAdmin": "Tem certeza que deseja remover os privilégios de administrador deste usuário?", - "externalAuthentication": "Autenticação Externa (OIDC)", - "configureExternalProvider": "Configure o provedor de identidade externo para autenticação OIDC/OAuth2.", - "userIdentifierPath": "Caminho do Identificadou do Usuário", - "displayNamePath": "Caminho do Nome de Exibição", - "scopes": "Escopos", - "saving": "Salvando...", - "saveConfiguration": "Salvar Configuração", - "reset": "Redefinir", - "success": "Sucesso", - "loading": "Carregando...", - "refresh": "Atualizar", - "loadingUsers": "Carregando usuários...", - "username": "Usuário", - "type": "Tipo", - "actions": "Ações", - "external": "Externo", - "local": "Local", - "adminManagement": "Gerenciamento de Administrador", - "makeUserAdmin": "Tornar Usuário Administrador", - "adding": "Adicionando...", - "currentAdmins": "Administradores Atuais", - "adminBadge": "Administrador", - "removeAdminButton": "Remover Administrador", - "general": "Geral", - "userRegistration": "Registro de Usuário", - "allowNewAccountRegistration": "Permitir registro de novas contas", - "missingRequiredFields": "Campos obrigatórios faltando: {{fields}}", - "oidcConfigurationUpdated": "Configuração OIDC atualizada com sucesso!", - "failedToFetchOidcConfig": "Falha ao buscar configuração OIDC", - "failedToFetchRegistrationStatus": "Falha ao buscar status do registro", - "failedToFetchUsers": "Falha ao buscar usuários", - "oidcConfigurationDisabled": "Configuração OIDC desativada com sucesso!", - "failedToUpdateOidcConfig": "Falha ao atualizar configuração OIDC", - "failedToDisableOidcConfig": "Falha ao desativar configuração OIDC", - "enterUsernameToMakeAdmin": "Insira o nome de usuário para tornar administrador", - "userIsNowAdmin": "O usuário {{username}} agora é um administrador", - "failedToMakeUserAdmin": "Falha ao tornar o usuário administrador", - "removeAdminStatus": "Remover status de administrador de {{username}}?", - "adminStatusRemoved": "Status de administrador removido de {{username}}", - "failedToRemoveAdminStatus": "Falha ao remover o status de administrador", - "userDeletedSuccessfully": "Usuário {{username}} excluído com sucesso", - "failedToDeleteUser": "Falha ao excluir usuário", - "overrideUserInfoUrl": "Sobrescrever URL de informações do usuário (não obrigatório)", - "databaseSecurity": "Segurança do Banco de Dados", - "encryptionStatus": "Status da Criptografia", - "encryptionEnabled": "Criptografia Ativada", - "enabled": "Ativado", - "disabled": "Desativado", - "keyId": "ID da Chave", - "created": "Criado", - "migrationStatus": "Status da Migração", - "migrationCompleted": "Migração concluída", - "migrationRequired": "Migração necessária", - "deviceProtectedMasterKey": "Chave Mestra Protegida pelo Ambiente", - "legacyKeyStorage": "Armazenamento de Chave Legado", - "masterKeyEncryptedWithDeviceFingerprint": "Chave mestra criptografada com impressão digital do ambiente (proteção KEK ativa)", - "keyNotProtectedByDeviceBinding": "Chave não protegida pela vinculação ao ambiente (atualização recomendada)", - "valid": "Válido", - "initializeDatabaseEncryption": "Initialize Database Encryption", - "enableAes256EncryptionWithDeviceBinding": "Ativar criptografia AES-256 com proteção de chave mestra vinculada ao ambiente. Isso cria segurança de nível empresarial para chaves SSH, senhas e tokens de autenticação.", - "featuresEnabled": "Recursos ativados:", - "aes256GcmAuthenticatedEncryption": "Criptografia autenticada AES-256-GCM", - "deviceFingerprintMasterKeyProtection": "Proteção de chave mestra por impressão digital do ambiente (KEK)", - "pbkdf2KeyDerivation": "Derivação de chave PBKDF2 com 100K iterações", - "automaticKeyManagement": "Gerenciamento e rotação automática de chaves", - "initializing": "Inicializando...", - "initializeEnterpriseEncryption": "Inicializar Criptografia Empresarial", - "migrateExistingData": "Migrar Dados Existentes", - "encryptExistingUnprotectedData": "Criptografar dados não protegidos existentes no seu banco de dados. Este processo é seguro e cria backups automáticos.", - "testMigrationDryRun": "Verificar Compatibilidade de Criptografia", - "migrating": "Migrando...", - "migrateData": "Migrar Dados", - "securityInformation": "Informações de Segurança", - "sshPrivateKeysEncryptedWithAes256": "Chaves privadas SSH e senhas são criptografadas com AES-256-GCM", - "userAuthTokensProtected": "Tokens de autenticação do usuário e segredos 2FA são protegidos", - "masterKeysProtectedByDeviceFingerprint": "Chaves mestras de criptografia são protegidas pela impressão digital do dispositivo (KEK)", - "keysBoundToServerInstance": "Chaves estão vinculadas ao ambiente do servidor atual (migráveis via variáveis de ambiente)", - "pbkdf2HkdfKeyDerivation": "Derivação de chave PBKDF2 + HKDF com 100K iterações", - "backwardCompatibleMigration": "Todos os dados permanecem compatíveis durante a migração", - "enterpriseGradeSecurityActive": "Segurança de Nível Empresarial Ativa", - "masterKeysProtectedByDeviceBinding": "Suas chaves mestras de criptografia são protegidas pela impressão digital do ambiente. Isso usa o nome do host do servidor, caminhos e outras informações do ambiente para gerar chaves de proteção. Para migrar servidores, defina a variável de ambiente DB_ENCRYPTION_KEY no novo servidor.", - "important": "Importante", - "keepEncryptionKeysSecure": "Garanta a segurança dos dados: faça backup regularmente dos arquivos do banco de dados e da configuração do servidor. Para migrar para um novo servidor, defina a variável de ambiente DB_ENCRYPTION_KEY no novo ambiente, ou mantenha a mesma estrutura de nome de host e diretório.", - "loadingEncryptionStatus": "Carregando status da criptografia...", - "testMigrationDescription": "Verifique se os dados existentes podem ser migrados com segurança para o formato criptografado sem realmente modificar nenhum dado", - "serverMigrationGuide": "Guia de Migração do Servidor", - "migrationInstructions": "Para migrar dados criptografados para um novo servidor: 1) Faça backup dos arquivos do banco de dados, 2) Defina a variável de ambiente DB_ENCRYPTION_KEY=\"sua-chave\" no novo servidor, 3) Restaure os arquivos do banco de dados", - "environmentProtection": "Proteção do Ambiente", - "environmentProtectionDesc": "Protege as chaves de criptografia com base nas informações do ambiente do servidor (nome do host, caminhos, etc.), migráveis via variáveis de ambiente", - "verificationCompleted": "Verificação de compatibilidade concluída - nenhum dado foi alterado", - "verificationInProgress": "Verificação concluída", - "dataMigrationCompleted": "Migração de dados concluída com sucesso!", - "verificationFailed": "Falha na verificação de compatibilidade", - "migrationFailed": "Falha na migração", - "runningVerification": "Executando verificação de compatibilidade...", - "startingMigration": "Iniciando migração...", - "hardwareFingerprintSecurity": "Segurança por Impressão Digital de Hardware", - "hardwareBoundEncryption": "Criptografia Vinculada ao Hardware Ativa", - "masterKeysNowProtectedByHardwareFingerprint": "As chaves mestras agora são protegidas por impressão digital real do hardware em vez de variáveis de ambiente", - "cpuSerialNumberDetection": "Detecção do número de série da CPU", - "motherboardUuidIdentification": "Identificação UUID da placa-mãe", - "diskSerialNumberVerification": "Verificação do número de série do disco", - "biosSerialNumberCheck": "Verificação do número de série da BIOS", - "stableMacAddressFiltering": "Filtragem de endereço MAC estável", - "databaseFileEncryption": "Criptografia de Arquivo do Banco de Dados", - "dualLayerProtection": "Proteção em Duas Camadas Ativa", - "bothFieldAndFileEncryptionActive": "Tanto a criptografia em nível de campo quanto em nível de arquivo estão ativas para máxima segurança", - "fieldLevelAes256Encryption": "Criptografia AES-256 em nível de campo para dados sensíveis", - "fileLevelDatabaseEncryption": "Criptografia do banco de dados em nível de arquivo com vinculação ao hardware", - "hardwareBoundFileKeys": "Chaves de criptografia de arquivo vinculadas ao hardware", - "automaticEncryptedBackups": "Criação automática de backup criptografado", - "createEncryptedBackup": "Criar Backup Criptografado", - "creatingBackup": "Criando Backup...", - "backupCreated": "Backup Criado", - "encryptedBackupCreatedSuccessfully": "Backup criptografado criado com sucesso", - "backupCreationFailed": "Falha na criação do backup", - "databaseMigration": "Migração do Banco de Dados", - "exportForMigration": "Exportar para Migração", - "exportDatabaseForHardwareMigration": "Exportar banco de dados como arquivo SQLite com dados descriptografados para migração para novo hardware", - "exportDatabase": "Exportar Banco de Dados SQLite", - "exporting": "Exportando...", - "exportCreated": "Exportação SQLite Criada", - "exportContainsDecryptedData": "A exportação SQLite contém dados descriptografados - mantenha seguro!", - "databaseExportedSuccessfully": "Banco de dados SQLite exportado com sucesso", - "databaseExportFailed": "Falha na exportação do banco de dados SQLite", - "importFromMigration": "Importar da Migração", - "importDatabaseFromAnotherSystem": "Importar banco de dados SQLite de outro sistema ou hardware", - "importDatabase": "Importar Banco de Dados SQLite", - "importing": "Importando...", - "selectedFile": "Arquivo SQLite Selecionado", - "importWillReplaceExistingData": "A importação SQLite substituirá os dados existentes - backup recomendado!", - "pleaseSelectImportFile": "Por favor, selecione um arquivo SQLite para importar", - "databaseImportedSuccessfully": "Banco de dados SQLite importado com sucesso", - "databaseImportFailed": "Falha na importação do banco de dados SQLite", - "manageEncryptionAndBackups": "Gerenciar chaves de criptografia, segurança do banco de dados e operações de backup", - "activeSecurityFeatures": "Medidas e proteções de segurança atualmente ativas", - "deviceBindingTechnology": "Tecnenhumlogia avançada de proteção de chave baseada em hardware", - "backupAndRecovery": "Opções seguras de criação de backup e recuperação de banco de dados", - "crossSystemDataTransfer": "Exportar e importar bancos de dados entre diferentes sistemas", - "noMigrationNeeded": "Nenhuma migração necessária", - "encryptionKey": "Chave de Criptografia", - "keyProtection": "Proteção da Chave", - "active": "Ativa", - "legacy": "Legado", - "dataStatus": "Status dos Dados", - "encrypted": "Criptografado", - "needsMigration": "Necessita Migração", - "ready": "Pronto", - "initializeEncryption": "Inicializar Criptografia", - "initialize": "Inicializar", - "test": "Testar", - "migrate": "Migrar", - "backup": "Backup", - "createBackup": "Criar Backup", - "exportImport": "Exportar/Importar", - "export": "Exportar", - "import": "Importar", - "passwordRequired": "Senha necessária", - "confirmExport": "Confirmar Exportação", - "exportDescription": "Exportar hosts SSH e credenciais como arquivo SQLite", - "importDescription": "Importar arquivo SQLite com mesclagem incremental (ignora duplicados)", - "criticalWarning": "Aviso Crítico", - "cannotDisablePasswordLoginWithoutOIDC": "Não é possível desativar o login por senha sem OIDC configurado! Você deve configurar a autenticação OIDC antes de desativar o login por senha, ou perderá o acesso ao Termix.", - "confirmDisablePasswordLogin": "Tem certeza que deseja desativar o login por senha? Certifique-se de que o OIDC está configurado corretamente e funcionando antes de continuar, ou você perderá o acesso à sua instância do Termix.", - "passwordLoginDisabled": "Login por senha desativado com sucesso", - "passwordLoginAndRegistrationDisabled": "Login por senha e registro de novas contas desativados com sucesso", - "requiresPasswordLogin": "Requer login por senha ativado", - "passwordLoginDisabledWarning": "Login por senha está desativado. Certifique-se de que o OIDC está configurado corretamente ou você não conseguirá fazer login no Termix.", - "oidcRequiredWarning": "CRÍTICO: Login por senha está desativado. Se você redefinir ou configurar incorretamente o OIDC, você perderá todo o acesso ao Termix e inutilizará sua instância. Prossiga apenas se tiver absoluta certeza.", - "confirmDisableOIDCWarning": "AVISO: Você está prestes a desativar o OIDC enquanto o login por senha também está desativado. Isso inutilizará sua instância do Termix e você perderá todo o acesso. Tem absoluta certeza de que deseja continuar?", - "allowPasswordLogin": "Permitir login com nome de usuário/senha", - "failedToFetchPasswordLoginStatus": "Falha ao buscar status do login por senha", - "failedToUpdatePasswordLoginStatus": "Falha ao atualizar status do login por senha", - "accountsLinkedSuccessfully": "Usuário OIDC {{oidcUsername}} foi vinculado a {{targetUsername}}", - "confirmRevokeAllSessions": "Tem certeza de que deseja revogar todas as sessões para este usuário?", - "confirmRevokeSession": "Tem certeza de que deseja revogar esta sessão?", - "failedToFetchSessions": "Falha ao buscar sessões", - "failedToLinkAccounts": "Falha ao vincular contas", - "failedToRevokeSession": "Falha ao revogar sessão", - "failedToRevokeSessions": "Falha ao revogar sessões", - "failedToUnlinkOIDC": "Falha ao desvincular OIDC", - "linkAccountsButton": "Vincular Contas", - "linkOIDCActionAddCapability": "Adicionar capacidade de login OIDC à conta de senha de destino", - "linkOIDCActionDeleteUser": "Excluir a conta de usuário OIDC e todos os outros dados", - "linkOIDCActionDualAuth": "Permitir que a conta de senha faça login com senha e OIDC", - "linkOIDCDialogDescription": "Vincular {{username}} (usuário OIDC) a uma conta de senha existente. Isso ativará autenticação dupla para a conta de senha.", - "linkOIDCDialogTitle": "Link OIDC Account para Senha Account", - "linkOIDCWarningTitle": "Aviso: Dados do Usuário OIDC Serão Deletados", - "linkTargetUsernameLabel": "Nome de usuário da conta de senha de destino", - "linkTargetUsernamePlaceholder": "Inserir nome de usuário da conta de senha", - "linkTargetUsernameRequired": "Nome de usuário de destino é obrigatório", - "linkToPasswordAccount": "Vincular à Conta de Senha", - "linkingAccounts": "Vinculando...", - "sessionRevokedSuccessfully": "Sessão revogada com sucesso", - "sessionsRevokedSuccessfully": "Sessões revogadas com sucesso", - "unlinkOIDCDescription": "Remover autenticação OIDC de {{username}}? O usuário só poderá fazer login com nome de usuário/senha após isso.", - "unlinkOIDCSuccess": "OIDC desvinculado de {{username}}", - "unlinkOIDCTitle": "Desvincular Autenticação OIDC" - }, - "hosts": { - "title": "Gerenciador de Hosts", - "sshHosts": "Hosts SSH", - "noHosts": "Sem Hosts SSH", - "noHostsMessage": "Você ainda não adicionenhumu nenhum host SSH. Clique em \"Adicionar Host\" para começar.", - "loadingHosts": "Carregando hosts...", - "failedToLoadHosts": "Falha ao carregar hosts", - "retry": "Tentar Novamente", - "refresh": "Atualizar", - "hostsCount": "{{count}} hosts", - "importJson": "Importar JSON", - "importing": "Importando...", - "importJsonTitle": "Importar Hosts SSH do JSON", - "importJsonDesc": "Envie um arquivo JSON para importar vários hosts SSH de uma vez (máx. 100).", - "downloadSample": "Baixar Exemplo", - "formatGuide": "Guia de Formato", - "exportCredentialWarning": "Aviso: O host \"{{name}}\" usa autenticação por credencial. O arquivo exportado não incluirá os dados da credencial e precisará ser reconfigurado manualmente após a importação. Deseja continuar?", - "exportSensitiveDataWarning": "Aviso: O host \"{{name}}\" contém dados de autenticação sensíveis (senha/chave SSH). O arquivo exportado incluirá esses dados em texto simples. Mantenha o arquivo seguro e exclua-o após o uso. Deseja continuar?", - "uncategorized": "Sem categouia", - "confirmDelete": "Tem certeza que deseja excluir \"{{name}}\"?", - "failedToDeleteHost": "Falha ao excluir host", - "failedToExportHost": "Falha ao exportar host. Certifique-se de que está logado e tem acesso aos dados do host.", - "jsonMustContainHosts": "O JSON deve conter um array \"hosts\" ou ser um array de hosts", - "noHostsInJson": "Nenhum host encontrado nenhum arquivo JSON", - "maxHostsAllowed": "Máximo de 100 hosts permitidos por importação", - "importCompleted": "Importação concluída: {{success}} com sucesso, {{failed}} falhas", - "importFailed": "Falha na importação", - "importError": "Erro na importação", - "failedToImportJson": "Falha ao importar arquivo JSON", - "connectionDetails": "Detalhes da Conexão", - "organization": "Organização", - "ipAddress": "Endereço IP", - "port": "Porta", - "name": "Nenhumme", - "username": "Usuário", - "folder": "Pasta", - "tags": "Tags", - "pin": "Fixar", - "passwordRequired": "Senha é obrigatória quando usar autenticação por senha", - "sshKeyRequired": "Chave Privada SSH é obrigatória quando usar autenticação por chave", - "keyTypeRequired": "Tipo de Chave é obrigatório quando usar autenticação por chave", - "mustSelectValidSshConfig": "Deve selecionar uma configuração SSH válida da lista", - "addHost": "Adicionar Host", - "editHost": "Editar Host", - "cloneHost": "Clonar Host", - "updateHost": "Atualizar Host", - "hostUpdatedSuccessfully": "Host \"{{name}}\" atualizado com sucesso!", - "hostAddedSuccessfully": "Host \"{{name}}\" adicionado com sucesso!", - "hostDeletedSuccessfully": "Host \"{{name}}\" excluído com sucesso!", - "failedToSaveHost": "Falha ao salvar host. Por favor, tente novamente.", - "enableTerminal": "Habilitar Terminal", - "enableTerminalDesc": "Habilitar/desabilitar visibilidade do host na aba Terminal", - "enableTunnel": "Habilitar Túnel", - "enableTunnelDesc": "Habilitar/desabilitar visibilidade do host na aba Túnel", - "enableFileManager": "Habilitar Gerenciadou de Arquivos", - "enableFileManagerDesc": "Habilitar/desabilitar visibilidade do host na aba Gerenciadou de Arquivos", - "defaultPath": "Caminho Padrão", - "defaultPathDesc": "Diretório padrão ao abrir o gerenciadou de arquivos para este host", - "tunnelConnections": "Conexões de Túnel", - "connection": "Conexão", - "remove": "Removerr", - "sourcePort": "Porta de Origem", - "sourcePortDesc": "(Source refere-se aos Detalhes da Conexão Atual na aba Geral)", - "endpointPort": "Porta de Destino", - "endpointSshConfig": "Configuração SSH do Endpoint", - "tunnelForwardDescription": "Este túnel encaminhará o tráfego da porta {{sourcePort}} na máquina de origem (detalhes da conexão atual na aba Geral) para a porta {{endpointPort}} na máquina de destino.", - "maxRetries": "Máximo de Tentativas", - "maxRetriesDescription": "Número máximo de tentativas de reconexão para a conexão do túnel.", - "retryInterval": "Intervalo de Tentativas (segundos)", - "retryIntervalDescription": "Tempo de espera entre tentativas de reconexão.", - "autoStartContainer": "Iniciar Automaticamente ao Lançar Container", - "autoStartDesc": "Iniciar automaticamente este túnel quando o container for iniciado", - "addConnection": "Adicionar Conexão de Túnel", - "sshpassRequired": "sshpass é necessário para autenticação por senha", - "sshpassRequiredDesc": "Para autenticação por senha em túneis, o sshpass deve estar instalado no sistema.", - "otherInstallMethods": "Outros métodos de instalação:", - "debianUbuntuEquivalent": "(Debian/Ubuntu) ou o equivalente para seu SO.", - "or": "ou", - "centosRhelFedora": "CentOS/RHEL/Fedora", - "macos": "macOS", - "windows": "Windows", - "sshServerConfigRequired": "Configuração do Servidor SSH Necessária", - "sshServerConfigDesc": "Para conexões de túnel, o servidor SSH deve ser configurado para permitir o encaminhamento de porta:", - "gatewayPortsYes": "para vincular portas remotas a todas as interfaces", - "allowTcpForwardingYes": "para habilitar o encaminhamento de porta", - "permitRootLoginYes": "se estiver usando usuário root para tunelamento", - "editSshConfig": "Edite /etc/ssh/sshd_config e reinicie o SSH: sudo systemctl restart sshd", - "upload": "Enviar", - "authentication": "Autenticação", - "password": "Senha", - "key": "Chave", - "credential": "Credencial", - "none": "Nenhum", - "selectCredential": "Selecionar Credencial", - "selectCredentialPlaceholder": "Escolha uma credencial...", - "credentialRequired": "Credencial é obrigatória ao usar autenticação por credencial", - "credentialDescription": "Selecionar uma credencial irá sobrescrever o nome de usuário atual e usar os detalhes de autenticação da credencial.", - "sshPrivateKey": "Chave Privada SSH", - "keyPassword": "Senha da Chave", - "keyType": "Tipo de Chave", - "autoDetect": "Detecção Automática", - "rsa": "RSA", - "ed25519": "ED25519", - "ecdsaNistP256": "ECDSA NIST P-256", - "ecdsaNistP384": "ECDSA NIST P-384", - "ecdsaNistP521": "ECDSA NIST P-521", - "dsa": "DSA", - "rsaSha2256": "RSA SHA2-256", - "rsaSha2512": "RSA SHA2-512", - "uploadFile": "Enviar Arquivo", - "pasteKey": "Colar Chave", - "updateKey": "Atualizar Chave", - "existingKey": "Chave Existente (clique para alterar)", - "existingCredential": "Credencial Existente (clique para alterar)", - "addTagsSpaceToAdd": "adicionar tags (espaço para adicionar)", - "terminalBadge": "Terminal", - "tunnelBadge": "Túnel", - "fileManagerBadge": "Gerenciadou de Arquivos", - "general": "Geral", - "terminal": "Terminal", - "tunnel": "Túnel", - "fileManager": "Gerenciadou de Arquivos", - "hostViewer": "Visualizadou de Host", - "confirmRemoveFromFolder": "Tem certeza que deseja remover \"{{name}}\" da pasta \"{{folder}}\"? O host será movido para \"Sem Pasta\".", - "removedFromFolder": "Host \"{{name}}\" removido da pasta com sucesso", - "failedToRemoveFromFolder": "Falha ao remover host da pasta", - "folderRenamed": "Pasta \"{{oldName}}\" renomeada para \"{{newName}}\" com sucesso", - "failedToRenameFolder": "Falha ao renomear pasta", - "movedToFolder": "Host \"{{name}}\" movido para \"{{folder}}\" com sucesso", - "failedToMoveToFolder": "Falha ao mover host para a pasta", - "statistics": "Estatísticas", - "enabledWidgets": "Widgets Habilitados", - "enabledWidgetsDesc": "Selecione quais widgets de estatísticas exibir para este host", - "monitoringConfiguration": "Configuração de Monitoramento", - "monitoringConfigurationDesc": "Configure com que frequência as estatísticas e o status do servidor são verificados", - "statusCheckEnabled": "Habilitar Monitoramento de Status", - "statusCheckEnabledDesc": "Verificar se o servidor está online ou offline", - "statusCheckInterval": "Intervalo de Verificação de Status", - "statusCheckIntervalDesc": "Com que frequência verificar se o host está online (5s - 1h)", - "metricsEnabled": "Habilitar Monitoramento de Métricas", - "metricsEnabledDesc": "Coletar estatísticas de CPU, RAM, disco e outros sistemas", - "metricsInterval": "Intervalo de Coleta de Métricas", - "metricsIntervalDesc": "Com que frequência coletar estatísticas do servidor (5s - 1h)", - "intervalSeconds": "segundos", - "intervalMinutes": "minutos", - "intervalValidation": "Os intervalos de monitoramento devem estar entre 5 segundos e 1 hora (3600 segundos)", - "monitoringDisabled": "O monitoramento do servidor está desabilitado para este host", - "enableMonitoring": "Habilite o monitoramento em Gerenciador de Hosts → aba Estatísticas", - "monitoringDisabledBadge": "Monitoramento Desligado", - "statusMonitoring": "Status", - "metricsMonitoring": "Métricas", - "terminalCustomizationNotice": "Nota: As personalizações do terminal funcionam apenas na versão Desktop Website. Aplicativos Mobile e Electron usam as configurações padrão do terminal do sistema.", - "noneAuthTitle": "Autenticação Interativa por Teclado", - "noneAuthDescription": "Este método de autenticação usará autenticação interativa por teclado ao conectar ao servidor SSH.", - "noneAuthDetails": "A autenticação interativa por teclado permite que o servidor solicite credenciais durante a conexão. Isso é útil para servidores que requerem autenticação multifator ou entrada de senha dinâmica.", - "forceKeyboardInteractive": "Forçar Interativo com Teclado", - "forceKeyboardInteractiveDesc": "Força o uso da autenticação interativa com teclado. Isso é frequentemente necessário para servidores que usam Autenticação de Dois Fatores (TOTP/2FA).", - "overrideCredentialUsername": "Substituir Nome de Usuário da Credencial", - "overrideCredentialUsernameDesc": "Use um nome de usuário diferente daquele armazenado na credencial. Isso permite que você use a mesma credencial com diferentes nomes de usuário.", - "jumpHosts": "Hosts de Salto", - "jumpHostsDescription": "Hosts de salto (também conhecidos como bastions) permitem que você se conecte a um servidor de destino através de um ou mais servidores intermediários. Isso é útil para acessar servidores atrás de firewalls ou em redes privadas.", - "jumpHostChain": "Cadeia de Hosts de Salto", - "addJumpHost": "Adicionar Host de Salto", - "selectServer": "Selecionar Servidor", - "searchServers": "Pesquisar servidores...", - "noServerFound": "Nenhum servidor encontrado", - "jumpHostsOrder": "As conexões serão feitas na ordem: Host de Salto 1 → Host de Salto 2 → ... → Servidor de Destino", - "advancedAuthSettings": "Configurações Avançadas de Autenticação", - "addQuickAction": "Adicionar Ação Rápida", - "adjustFontSize": "Ajustar o tamanho da fonte do terminal", - "adjustLetterSpacing": "Ajustar espaçamento entre caracteres", - "adjustLineHeight": "Ajustar espaçamento entre linhas", - "advanced": "Avançado", - "allHostsInFolderDeleted": "Excluídos {{count}} hosts da pasta \"{{folder}}\" com sucesso", - "appearance": "Aparência", - "backspaceMode": "Modo Backspace", - "backspaceModeControlH": "Control-H (^H)", - "backspaceModeDesc": "Comportamento da tecla Backspace para compatibilidade", - "backspaceModeNormal": "Normal (DEL)", - "behavior": "Comportamento", - "bellStyle": "Estilo de Campainha", - "bellStyleBoth": "Both", - "bellStyleDesc": "Como lidar com a campainha do terminal (caractere BEL, \\x07). Programas acionam isso ao completar tarefas, encontrar erros, ou para notificações. \"Som\" toca um bipe de áudio, \"Visual\" pisca a tela brevemente, \"Ambos\" faz os dois, \"Nenhum\" desativa os alertas de campainha.", - "bellStyleNone": "Nenhum", - "bellStyleSound": "Som", - "bellStyleVisual": "Visual", - "chooseColorTheme": "Escolha um tema de cor para o terminal", - "chooseCursorAppearance": "Escolha a aparência do cursor", - "confirmDeleteAllHostsInFolder": "Tem certeza de que deseja excluir todos os {{count}} hosts na pasta \"{{folder}}\"? Esta ação não pode ser desfeita.", - "cursorBlink": "Piscar Cursor", - "cursorStyle": "Estilo do Cursor", - "cursorStyleBar": "Barra", - "cursorStyleBlock": "Bloco", - "cursorStyleUnderline": "Sublinhado", - "customCommands": "Comandos Personalizados (Em Breve)", - "customCommandsDesc": "Defina comandos personalizados de desligamento e reinicialização para este servidor", - "deleteAllHostsInFolder": "Excluir Todos os Hosts na Pasta", - "displayItems": "Exibir Itens", - "displayItemsDesc": "Escolha quais métricas exibir na página de estatísticas do servidor", - "editFolderAppearance": "Editar Aparência da Pasta", - "editFolderAppearanceDesc": "Personalize a cor e o ícone da pasta", - "enableCpu": "Uso da CPU", - "enableCursorBlink": "Ativar animação de piscar do cursor", - "enableDisk": "Uso de Disco", - "enableHostname": "Hostname (Em Breve)", - "enableMemory": "Uso de Memória", - "enableNetwork": "Estatísticas de Rede (Em Breve)", - "enableOs": "Sistema Operacional (Em Breve)", - "enableProcesses": "Contagem de Processos (Em Breve)", - "enableServerStats": "Ativar Estatísticas do Servidor", - "enableServerStatsDesc": "Ativar/desativar coleta de estatísticas do servidor para este host", - "enableUptime": "Tempo de Atividade (Em Breve)", - "failedToDeleteHostsInFolder": "Falha ao excluir hosts na pasta", - "failedToUpdateFolderAppearance": "Falha ao atualizar aparência da pasta", - "fastScrollModifier": "Modificador de Rolagem Rápida", - "fastScrollModifierDesc": "Tecla modificadora para rolagem rápida", - "fastScrollSensitivity": "Sensibilidade de Rolagem Rápida", - "fastScrollSensitivityDesc": "Multiplicador de velocidade de rolagem quando modificador é segurado", - "fastScrollSensitivityValue": "Sensibilidade de Rolagem Rápida: {{value}}", - "folderAppearanceUpdated": "Aparência da pasta atualizada com sucesso", - "folderColor": "Cor da Pasta", - "folderIcon": "Ícone da Pasta", - "fontFamily": "Família da Fonte", - "fontSize": "Tamanho da Fonte", - "fontSizeValue": "Tamanho da Fonte: {{value}}px", - "letterSpacing": "Espaçamento entre Letras", - "letterSpacingValue": "Espaçamento entre Letras: {{value}}px", - "lineHeight": "Altura da Linha", - "lineHeightValue": "Altura da Linha: {{value}}", - "minimumContrastRatio": "Taxa de Contraste Mínima", - "minimumContrastRatioDesc": "Ajustar cores automaticamente para melhor legibilidade", - "minimumContrastRatioValue": "Taxa de Contraste Mínima: {{value}}", - "modifierAlt": "Alt", - "modifierCtrl": "Ctrl", - "modifierShift": "Shift", - "noSnippetFound": "Nenhum snippet encontrado", - "preview": "Pré-visualização", - "quickActionName": "Nome da Ação", - "quickActions": "Ações Rápidas", - "quickActionsDescription": "Ações rápidas permitem criar botões personalizados que executam snippets SSH neste servidor. Esses botões aparecerão no topo da página de Estatísticas do Servidor para acesso rápido.", - "quickActionsList": "Lista de Ações Rápidas", - "quickActionsOrder": "Botões de ação rápida aparecerão na ordem listada acima na página de Estatísticas do Servidor", - "rebootCommand": "Comando de Reinicialização", - "rightClickSelectsWord": "Clique Direito Seleciona Palavra", - "rightClickSelectsWordDesc": "Clicar com o botão direito seleciona a palavra sob o cursor", - "scrollbackBuffer": "Histórico de Rolagem", - "scrollbackBufferDesc": "Número de linhas para manter no histórico de rolagem", - "scrollbackBufferValue": "Histórico de Rolagem: {{value}} linhas", - "searchSnippets": "Pesquisar snippets...", - "selectBackspaceMode": "Selecionar modo backspace", - "selectBellStyle": "Selecionar estilo de campainha", - "selectCursorStyle": "Selecionar estilo de cursor", - "selectFont": "Selecionar fonte", - "selectFontDesc": "Selecione a fonte para usar no terminal", - "selectModifier": "Selecionar modificador", - "selectSnippet": "Selecionar snippet", - "selectTheme": "Selecionar tema", - "serverStats": "Estatísticas do Servidor", - "shutdownCommand": "Comando de Desligamento", - "snippetNone": "Nenhum", - "sshAgentForwarding": "Encaminhamento de Agente SSH", - "sshAgentForwardingDesc": "Encaminhar agente de autenticação SSH para host remoto", - "startupSnippet": "Snippet de Inicialização", - "terminalCustomization": "Personalização do Terminal", - "theme": "Tema", - "themePreview": "Pré-visualização do Tema" - }, - "terminal": { - "title": "Terminal", - "connect": "Conectar ao Host", - "disconnect": "Desconectar", - "clear": "Limpar", - "copy": "Copiar", - "paste": "Colar", - "find": "Localizar", - "fullscreen": "Tela Cheia", - "splitHorizontal": "Dividir Horizontalmente", - "splitVertical": "Dividir Verticalmente", - "closePanel": "Fechar Painel", - "reconnect": "Reconectar", - "sessionEnded": "Sessão Encerrada", - "connectionLost": "Conexão Perdida", - "error": "ERRO: {{message}}", - "disconnected": "Desconectado", - "connectionClosed": "Conexão fechada", - "connectionError": "Erro de conexão: {{message}}", - "connected": "Conectado", - "sshConnected": "Conexão SSH estabelecida", - "authError": "Falha na autenticação: {{message}}", - "unknownError": "Ocorreu um erro desconhecido", - "messageParseError": "Falha ao analisar mensagem do servidor", - "websocketError": "Erro na conexão WebSocket", - "connecting": "Conectando...", - "reconnecting": "Reconectando... ({{attempt}}/{{max}})", - "reconnected": "Reconectado com sucesso", - "maxReconnectAttemptsReached": "Número máximo de tentativas de reconexão atingido", - "connectionTimeout": "Tempo limite de conexão esgotado", - "terminalTitle": "Terminal - {{host}}", - "terminalWithPath": "Terminal - {{host}}:{{path}}", - "runTitle": "Executando {{command}} - {{host}}", - "totpCodeLabel": "Código de Verificação", - "totpPlaceholder": "000000", - "totpRequired": "Autenticação de Dois Fatores Obrigatória", - "totpVerify": "Verificar" - }, - "fileManager": { - "title": "Gerenciador de Arquivos", - "file": "Arquivo", - "folder": "Pasta", - "connectToSsh": "Conecte-se ao SSH para usar operações de arquivo", - "uploadFile": "Enviar Arquivo", - "downloadFile": "Baixar", - "edit": "Editar", - "preview": "Visualizar", - "previous": "Anterior", - "next": "Próximo", - "pageXOfY": "Página {{current}} de {{total}}", - "zoomOut": "Diminuir Zoom", - "zoomIn": "Aumentar Zoom", - "newFile": "Novo Arquivo", - "newFolder": "Nova Pasta", - "rename": "Renomear", - "renameItem": "Renomear Item", - "deleteItem": "Excluir Item", - "currentPath": "Caminho Atual", - "uploadFileTitle": "Enviar Arquivo", - "maxFileSize": "Máx: 1GB (JSON) / 5GB (Binário) - Arquivos grandes suportados", - "removeFile": "Remover Arquivo", - "clickToSelectFile": "Clique para selecionar um arquivo", - "chooseFile": "Escolher Arquivo", - "uploading": "Enviando...", - "downloading": "Baixando...", - "uploadingFile": "Enviando {{name}}...", - "uploadingLargeFile": "Enviando arquivo grande {{name}} ({{size}})...", - "downloadingFile": "Baixando {{name}}...", - "creatingFile": "Criando {{name}}...", - "creatingFolder": "Criando {{name}}...", - "deletingItem": "Excluindo {{type}} {{name}}...", - "renamingItem": "Renomeando {{type}} {{oldName}} para {{newName}}...", - "createNewFile": "Criar Novo Arquivo", - "fileName": "Nome do Arquivo", - "creating": "Criando...", - "createFile": "Criar Arquivo", - "createNewFolder": "Criar Nova Pasta", - "folderName": "Nome da Pasta", - "createFolder": "Criar Pasta", - "warningCannotUndo": "Aviso: Esta ação não pode ser desfeita", - "itemPath": "Caminho do Item", - "thisIsDirectory": "Isto é um diretório (será excluído recursivamente)", - "deleting": "Excluindo...", - "currentPathLabel": "Caminho Atual", - "newName": "Novo Nome", - "thisIsDirectoryRename": "Isto é um diretório", - "renaming": "Renomeando...", - "fileUploadedSuccessfully": "Arquivo \"{{name}}\" enviado com sucesso", - "failedToUploadFile": "Falha ao enviar arquivo", - "fileDownloadedSuccessfully": "Arquivo \"{{name}}\" baixado com sucesso", - "failedToDownloadFile": "Falha ao baixar arquivo", - "noFileContent": "Nenhum conteúdo de arquivo recebido", - "filePath": "Caminho do Arquivo", - "fileCreatedSuccessfully": "Arquivo \"{{name}}\" criado com sucesso", - "failedToCreateFile": "Falha ao criar arquivo", - "folderCreatedSuccessfully": "Pasta \"{{name}}\" criada com sucesso", - "failedToCreateFolder": "Falha ao criar pasta", - "failedToCreateItem": "Falha ao criar item", - "operationFailed": "Operação {{operation}} falhou para {{name}}: {{error}}", - "failedToResolveSymlink": "Falha ao resolver link simbólico", - "itemDeletedSuccessfully": "{{type}} excluído com sucesso", - "itemsDeletedSuccessfully": "{{count}} itens excluídos com sucesso", - "failedToDeleteItems": "Falha ao excluir itens", - "dragFilesToUpload": "Arraste arquivos aqui para enviar", - "emptyFolder": "Esta pasta está vazia", - "itemCount": "{{count}} itens", - "selectedCount": "{{count}} selecionados", - "searchFiles": "Pesquisar arquivos...", - "upload": "Enviar", - "selectHostToStart": "Selecione um host para iniciar o gerenciamento de arquivos", - "failedToConnect": "Falha ao conectar ao SSH", - "failedToLoadDirectory": "Falha ao carregar diretório", - "noSSHConnection": "Nenhuma conexão SSH disponível", - "enterFolderName": "Digite o nome da pasta:", - "enterFileName": "Digite o nome do arquivo:", - "copy": "Copiar", - "cut": "Recortar", - "paste": "Colar", - "copyPath": "Copiar caminho", - "copyPaths": "Copiar caminhos", - "delete": "Excluir", - "properties": "Propriedades", - "refresh": "Atualizar", - "downloadFiles": "Baixar {{count}} arquivos para o Navegador", - "copyFiles": "Copiar {{count}} itens", - "cutFiles": "Recortar {{count}} itens", - "deleteFiles": "Excluir {{count}} itens", - "filesCopiedToClipboard": "{{count}} itens copiados para a área de transferência", - "filesCutToClipboard": "{{count}} itens recortados para a área de transferência", - "pathCopiedToClipboard": "Caminho copiado para a área de transferência", - "pathsCopiedToClipboard": "{{count}} caminhos copiados para a área de transferência", - "failedToCopyPath": "Falha ao copiar caminho para a área de transferência", - "movedItems": "{{count}} itens movidos", - "failedToDeleteItem": "Falha ao excluir item", - "itemRenamedSuccessfully": "{{type}} renomeado com sucesso", - "failedToRenameItem": "Falha ao renomear item", - "download": "Baixar", - "permissions": "Permissões", - "size": "Tamanho", - "modified": "Modificado", - "path": "Caminho", - "confirmDelete": "Tem certeza que deseja excluir {{name}}?", - "uploadSuccess": "Arquivo enviado com sucesso", - "uploadFailed": "Falha ao enviar arquivo", - "downloadSuccess": "Arquivo baixado com sucesso", - "downloadFailed": "Falha ao baixar arquivo", - "permissionDenied": "Permissão negada", - "checkDockerLogs": "Verifique os logs do Docker para informações detalhadas do erro", - "internalServerError": "Ocorreu um erro interno do servidor", - "serverError": "Erro do Servidor", - "error": "Erro", - "requestFailed": "Requisição falhou com código de status", - "unknownFileError": "desconhecido", - "cannotReadFile": "Não é possível ler o arquivo", - "noSshSessionId": "Nenhum ID de sessão SSH disponível", - "noFilePath": "Nenhum caminho de arquivo disponível", - "noCurrentHost": "Nenhum host atual disponível", - "fileSavedSuccessfully": "Arquivo salvo com sucesso", - "saveTimeout": "Tempo limite da operação de salvamento esgotado. O arquivo pode ter sido salvo com sucesso, mas a operação demorou muito para ser concluída. Verifique os logs do Docker para confirmação.", - "failedToSaveFile": "Falha ao salvar arquivo", - "deletedSuccessfully": "excluído com sucesso", - "connectToServer": "Conectar a um Servidor", - "selectServerToEdit": "Selecione um servidor da barra lateral para começar a editar arquivos", - "fileOperations": "Operações de Arquivo", - "confirmDeleteMessage": "Tem certeza que deseja excluir {{name}}?", - "confirmDeleteSingleItem": "Tem certeza que deseja excluir permanentemente \"{{name}}\"?", - "confirmDeleteMultipleItems": "Tem certeza que deseja excluir permanentemente {{count}} itens?", - "confirmDeleteMultipleItemsWithFolders": "Tem certeza que deseja excluir permanentemente {{count}} itens? Isso inclui pastas e seus conteúdos.", - "confirmDeleteFolder": "Tem certeza que deseja excluir permanentemente a pasta \"{{name}}\" e todo seu conteúdo?", - "deleteDirectoryWarning": "Isso excluirá a pasta e todo seu conteúdo.", - "actionCannotBeUndone": "Esta ação não pode ser desfeita.", - "permanentDeleteWarning": "Esta ação não pode ser desfeita. O(s) item(ns) será(ão) excluído(s) permanentemente do servidor.", - "recent": "Recente", - "pinned": "Fixado", - "folderShortcuts": "Atalhos de Pasta", - "noRecentFiles": "Nenhum arquivo recente.", - "noPinnedFiles": "Nenhum arquivo fixado.", - "enterFolderPath": "Digite o caminho da pasta", - "noShortcuts": "Nenhum atalho.", - "searchFilesAndFolders": "Pesquisar arquivos e pastas...", - "noFilesOrFoldersFound": "Nenhum arquivo ou pasta encontrado.", - "failedToConnectSSH": "Falha ao conectar ao SSH", - "failedToReconnectSSH": "Falha ao reconectar sessão SSH", - "failedToListFiles": "Falha ao listar arquivos", - "fetchHomeDataTimeout": "Tempo limite excedido ao buscar dados iniciais", - "sshStatusCheckTimeout": "Tempo limite excedido na verificação do status SSH", - "sshReconnectionTimeout": "Tempo limite excedido na reconexão SSH", - "saveOperationTimeout": "Tempo limite excedido na operação de salvar", - "cannotSaveFile": "Não é possível salvar o arquivo", - "dragSystemFilesToUpload": "Arraste arquivos do sistema aqui para enviar", - "dragFilesToWindowToDownload": "Arraste arquivos para fora da janela para baixar", - "openTerminalHere": "Abrir Terminal Aqui", - "run": "Executar", - "saveToSystem": "Salvar como...", - "selectLocationToSave": "Selecionar Local para Salvar", - "openTerminalInFolder": "Abrir Terminal nesta Pasta", - "openTerminalInFileLocation": "Abrir Terminal no Local do Arquivo", - "terminalWithPath": "Terminal - {{host}}:{{path}}", - "runningFile": "Executando - {{file}}", - "onlyRunExecutableFiles": "Só é possível executar arquivos executáveis", - "noHostSelected": "Nenhum host selecionado", - "starred": "Favoritos", - "shortcuts": "Atalhos", - "directories": "Diretórios", - "removedFromRecentFiles": "\"{{name}}\" removido dos arquivos recentes", - "removeFailed": "Falha ao remover", - "unpinnedSuccessfully": "\"{{name}}\" desfixado com sucesso", - "unpinFailed": "Falha ao desfixar", - "removedShortcut": "Atalho \"{{name}}\" removido", - "removeShortcutFailed": "Falha ao remover atalho", - "clearedAllRecentFiles": "Todos os arquivos recentes foram limpos", - "clearFailed": "Falha ao limpar", - "removeFromRecentFiles": "Remover dos arquivos recentes", - "clearAllRecentFiles": "Limpar todos os arquivos recentes", - "unpinFile": "Desfixar arquivo", - "removeShortcut": "Remover atalho", - "saveFilesToSystem": "Salvar {{count}} arquivos como...", - "pinFile": "Fixar arquivo", - "addToShortcuts": "Adicionar aos atalhos", - "downloadToDefaultLocation": "Baixar para o local padrão", - "pasteFailed": "Falha ao colar", - "noUndoableActions": "Nenhuma ação pode ser desfeita", - "undoCopySuccess": "oOperação de cópia desfeita: {{count}} arquivos copiados foram excluídos", - "undoCopyFailedDelete": "Falha ao desfazer: Não foi possível excluir os arquivos copiados", - "undoCopyFailedNoInfo": "Falha ao desfazer: Não foi possível encontrar informações do arquivo copiado", - "undoMoveSuccess": "Operação de mover desfeita: {{count}} arquivos movidos de volta ao local original", - "undoMoveFailedMove": "Falha ao desfazer: Não foi possível mover os arquivos de volta", - "undoMoveFailedNoInfo": "Falha ao desfazer: Não foi possível encontrar informações do arquivo movido", - "undoDeleteNotSupported": "Operação de exclusão não pode ser desfeita: Os arquivos foram excluídos permanentemente do servidor", - "undoTypeNotSupported": "Tipo de operação de desfazer não suportado", - "undoOperationFailed": "Falha na operação de desfazer", - "unknownError": "Erro desconhecido", - "enterPath": "Digite o caminho...", - "editPath": "Editarar caminho", - "confirm": "Confirmar", - "cancel": "Cancelar", - "find": "Localizar...", - "replaceWith": "Substituir por...", - "replace": "Substituir", - "replaceAll": "Substituir Tudo", - "downloadInstead": "Baixar em Vez Disso", - "keyboardShortcuts": "Atalhos do Teclado", - "searchAndReplace": "Localizar & Substituir", - "editing": "Edição", - "navigation": "Navegação", - "code": "Código", - "search": "Pesquisar", - "findNext": "Localizar Próximo", - "findPrevious": "Localizar Anterior", - "save": "Salvar", - "selectAll": "Selecionar Tudo", - "undo": "Desfazer", - "redo": "Refazer", - "goToLine": "Ir para Linha", - "moveLineUp": "Mover Linha para Cima", - "moveLineDown": "Mover Linha para Baixo", - "toggleComment": "Alternar Comentário", - "indent": "Indentar", - "outdent": "Remover Indentação", - "autoComplete": "Autocompletar", - "imageLoadError": "Falha ao carregar imagem", - "rotate": "Rotacionar", - "originalSize": "Tamanho Original", - "startTyping": "Comece a digitar...", - "unknownSize": "Tamanho desconhecido", - "fileIsEmpty": "Arquivo está vazio", - "largeFileWarning": "Aviso de Arquivo Grande", - "largeFileWarningDesc": "Este arquivo tem {{size}} de tamanho, o que pode causar problemas de desempenho quando aberto como texto.", - "fileNotFoundAndRemoved": "Arquivo \"{{name}}\" não encontrado e foi removido dos arquivos recentes/fixados", - "failedToLoadFile": "Falha ao carregar arquivo: {{error}}", - "serverErrorOccurred": "Ocorreu um erro no servidor. Por favor, tente novamente mais tarde.", - "autoSaveFailed": "Falha no salvamento automático", - "fileAutoSaved": "Arquivo salvo automaticamente", - "moveFileFailed": "Falha ao mover {{name}}", - "moveOperationFailed": "Falha na operação de mover", - "canOnlyCompareFiles": "Só é possível comparar dois arquivos", - "comparingFiles": "Comparando arquivos: {{file1}} e {{file2}}", - "dragFailed": "Falha na operação de arrastar", - "filePinnedSuccessfully": "Arquivo \"{{name}}\" fixado com sucesso", - "pinFileFailed": "Falha ao fixar arquivo", - "fileUnpinnedSuccessfully": "Arquivo \"{{name}}\" desfixado com sucesso", - "unpinFileFailed": "Falha ao desfixar arquivo", - "shortcutAddedSuccessfully": "Atalho de pasta \"{{name}}\" adicionado com sucesso", - "addShortcutFailed": "Falha ao adicionar atalho", - "operationCompletedSuccessfully": "{{operation}} {{count}} itens com sucesso", - "operationCompleted": "{{operation}} {{count}} itens", - "downloadFileSuccess": "Arquivo {{name}} baixado com sucesso", - "downloadFileFailed": "Falha no baixar", - "moveTo": "Mover para {{name}}", - "diffCompareWith": "Comparar diferenças com {{name}}", - "dragOutsideToDownload": "Arraste para fora da janela para baixar ({{count}} arquivos)", - "newFolderDefault": "NovaPasta", - "newFileDefault": "NovoArquivo.txt", - "successfullyMovedItems": "{{count}} itens movidos com sucesso para {{target}}", - "move": "Mover", - "searchInFile": "Pesquisar no arquivo (Ctrl+F)", - "showKeyboardShortcuts": "Mostrar atalhos do teclado", - "startWritingMarkdown": "Comece a escrever seu conteúdo markdown...", - "loadingFileComparison": "Carregando comparação de arquivos...", - "reload": "Recarregar", - "compare": "Comparar", - "sideBySide": "Lado a Lado", - "inline": "Em linha", - "fileComparison": "Comparação de Arquivos: {{file1}} vs {{file2}}", - "fileTooLarge": "Arquivo muito grande: {{error}}", - "sshConnectionFailed": "Falha na conexão SSH. Por favor, verifique sua conexão com {{name}} ({{ip}}:{{port}})", - "loadFileFailed": "Falha ao carregar arquivo: {{error}}", - "andMoreFiles": "e {{count}} mais...", - "archiveExtractedSuccessfully": "{{name}} extraído com sucesso", - "archiveName": "Nome do Arquivo", - "changePermissions": "Alterar Permissões", - "changePermissionsDesc": "Modificar permissões do arquivo para", - "compress": "Comprimir", - "compressFailed": "Falha na compressão", - "compressFile": "Comprimir Arquivo", - "compressFiles": "Comprimir Arquivos", - "compressFilesDesc": "Comprimir {{count}} itens em um arquivo", - "compressingFiles": "Comprimindo {{count}} itens em {{name}}...", - "compressionFormat": "Formato de Compressão", - "connectedSuccessfully": "Conectado com sucesso", - "currentPermissions": "Permissões Atuais", - "enterArchiveName": "Inserir nome do arquivo...", - "execute": "Executar", - "extractArchive": "Extrair Arquivo", - "extractFailed": "Extração falhou", - "extractingArchive": "Extraindo {{name}}...", - "failedToChangePermissions": "Falha ao alterar permissões", - "filesCompressedSuccessfully": "{{name}} criado com sucesso", - "group": "Grupo", - "newPermissions": "Novas Permissões", - "others": "Outros", - "owner": "Proprietário", - "permissionsChangedSuccessfully": "Permissões alteradas com sucesso", - "read": "Leitura", - "selectedFiles": "Arquivos Selecionados", - "totpVerificationFailed": "Verificação TOTP falhou", - "write": "Escrita" - }, - "tunnels": { - "title": "Túneis SSH", - "noSshTunnels": "Sem Túneis SSH", - "createFirstTunnelMessage": "Crie seu primeiro túnel SSH para começar. Use o Gerenciador SSH para adicionar hosts com conexões de túnel.", - "connected": "Conectado", - "disconnected": "Desconectado", - "connecting": "Conectando...", - "disconnecting": "Desconectando...", - "unknownTunnelStatus": "Desconhecido", - "unknown": "Desconhecido", - "error": "Erro", - "failed": "Falhou", - "retrying": "Tentando novamente", - "waiting": "Aguardando", - "waitingForRetry": "Aguardando nova tentativa", - "retryingConnection": "Tentando reconectar", - "canceling": "Cancelando...", - "connect": "Conectar", - "disconnect": "Desconectar", - "cancel": "Cancelar", - "port": "Porta", - "attempt": "Tentativa {{current}} de {{max}}", - "nextRetryIn": "Próxima tentativa em {{seconds}} segundos", - "checkDockerLogs": "Verifique seus logs do Docker para ver o motivo do erro", - "noTunnelConnections": "Nenhuma conexão de túnel configurada", - "tunnelConnections": "Conexões de Túnel", - "addTunnel": "Adicionar Túnel", - "editTunnel": "Editar Túnel", - "deleteTunnel": "Excluir Túnel", - "tunnelName": "Nome do Túnel", - "localPort": "Porta Local", - "remoteHost": "Host Remoto", - "remotePort": "Porta Remota", - "autoStart": "Iniciar Automaticamente", - "status": "Status", - "active": "Ativo", - "inactive": "Inativo", - "start": "Iniciar", - "stop": "Parar", - "restart": "Reiniciar", - "connectionType": "Tipo de Conexão", - "local": "Local", - "remote": "Remoto", - "dynamic": "Dinâmico", - "unknownConnectionStatus": "Desconhecido", - "portMapping": "Porta {{sourcePort}} → {{endpointHost}}:{{endpointPort}}", - "endpointHostNotFound": "Host de destinenhum não encontrado", - "discord": "Discord", - "githubIssue": "issue no GitHub", - "forHelp": "para ajuda" - }, - "serverStats": { - "title": "Estatísticas do Servidor", - "cpu": "CPU", - "memory": "Memória", - "disk": "Disco", - "network": "Rede", - "uptime": "Tempo de Atividade", - "loadAverage": "Média: {{avg1}}, {{avg5}}, {{avg15}}", - "processes": "Processos", - "connections": "Conexões", - "usage": "Uso", - "available": "Disponível", - "total": "Total", - "free": "Livre", - "used": "Usado", - "percentage": "Porcentagem", - "refreshStatusAndMetrics": "Atualizar status e métricas", - "refreshStatus": "Atualizar Status", - "fileManagerAlreadyOpen": "Gerenciador de Arquivos já está aberto para este host", - "openFileManager": "Abrir Gerenciador de Arquivos", - "cpuCores_one": "{{count}} CPU", - "cpuCores_other": "{{count}} CPUs", - "naCpus": "N/D CPU(s)", - "loadAverageNA": "Média: N/D", - "cpuUsage": "Uso da CPU", - "memoryUsage": "Uso de Memória", - "rootStorageSpace": "Espaço de Armazenamento Root", - "of": "de", - "feedbackMessage": "Tem ideias sobre o que deveria vir a seguir para o gerenciamento do servidor? Compartilhe em", - "failedToFetchHostConfig": "Falha ao buscar configuração do host", - "failedToFetchStatus": "Falha ao buscar status do servidor", - "failedToFetchMetrics": "Falha ao buscar métricas do servidor", - "failedToFetchHomeData": "Falha ao buscar dados da home", - "loadingMetrics": "Carregando métricas...", - "refreshing": "Atualizando...", - "serverOffline": "Servidor Offline", - "cannotFetchMetrics": "Não é possível buscar métricas do servidor offline", - "load": "Carga", - "addWidget": "Adicionar Widget", - "cancelEdit": "Cancelar", - "diskUsage": "Uso de Disco", - "editLayout": "Editar Layout", - "executeQuickAction": "Executar {{name}}", - "executingQuickAction": "Executando {{name}}...", - "failedToSaveLayout": "Falha ao salvar layout", - "from": "de", - "hostname": "Hostname", - "kernel": "Kernel", - "layoutSaved": "Layout salvo com sucesso", - "loginStats": "Estatísticas de Login SSH", - "networkInterfaces": "Interfaces de Rede", - "noInterfacesFound": "Nenhuma interface de rede encontrada", - "noProcessesFound": "Nenhum processo encontrado", - "noRecentLoginData": "Nenhum dado de login recente", - "operatingSystem": "Sistema Operacional", - "quickActionError": "Falha ao executar {{name}}", - "quickActionFailed": "{{name}} falhou", - "quickActionSuccess": "{{name}} concluído com sucesso", - "quickActions": "Ações Rápidas", - "recentFailedAttempts": "Tentativas Falhas Recentemente", - "recentSuccessfulLogins": "Logins Bem-sucedidos Recentemente", - "running": "Executando", - "saveLayout": "Salvar Layout", - "seconds": "segundos", - "systemInfo": "Informações do Sistema", - "totalLogins": "Total de Logins", - "totalProcesses": "Total de Processos", - "totalUptime": "Tempo de Atividade Total", - "totpRequired": "Autenticação TOTP Obrigatória", - "totpUnavailable": "Estatísticas do Servidor indisponíveis para servidores com TOTP ativado", - "uniqueIPs": "IPs Únicos", - "unsavedChanges": "Alterações não salvas" - }, - "auth": { - "tagline": "GERENCIADOR DE TERMINAL SSH", - "description": "Gerenciamento de conexão SSH seguro, poderoso e intuitivo", - "welcomeBack": "Bem-vindo de volta ao TERMIX", - "createAccount": "Crie sua conta TERMIX", - "continueExternal": "Continuar com provedor externo", - "loginTitle": "Entrar no Termix", - "registerTitle": "Criar Conta", - "loginButton": "Entrar", - "registerButton": "Registrar", - "forgotPassword": "Esqueceu a Senha?", - "rememberMe": "Lembrar de Mim", - "noAccount": "Não tem uma conta?", - "hasAccount": "Já tem uma conta?", - "loginSuccess": "Login realizado com sucesso", - "loginFailed": "Falha no login", - "registerSuccess": "Registro realizado com sucesso", - "registerFailed": "Falha no registro", - "logoutSuccess": "Desconectado com sucesso", - "invalidCredentials": "Usuário ou senha inválidos", - "accountCreated": "Conta criada com sucesso", - "passwordReset": "Link de redefinição de senha enviado", - "twoFactorAuth": "Autenticação de Dois Fatores", - "enterCode": "Digite o código de verificação", - "backupCode": "Ou use o código de backup", - "verifyCode": "Verificar Código", - "enableTwoFactor": "Ativar Autenticação de Dois Fatores", - "disableTwoFactor": "Desativar Autenticação de Dois Fatores", - "scanQRCode": "Escaneie este código QR com seu aplicativo autenticador", - "backupCodes": "Códigos de Backup", - "saveBackupCodes": "Salve estes códigos de backup em um local seguro", - "twoFactorEnabledSuccess": "Autenticação de dois fatores ativada com sucesso!", - "twoFactorDisabled": "Autenticação de dois fatores desativada", - "newBackupCodesGenerated": "Novos códigos de backup gerados", - "backupCodesDownloaded": "Códigos de backup baixados", - "pleaseEnterSixDigitCode": "Por favor, digite um código de 6 dígitos", - "invalidVerificationCode": "Código de verificação inválido", - "failedToDisableTotp": "Falha ao desativar TOTP", - "failedToGenerateBackupCodes": "Falha ao gerar códigos de backup", - "enterPassword": "Digite sua senha", - "lockedOidcAuth": "Bloqueado (Auth OIDC)", - "twoFactorTitle": "Autenticação de Dois Fatores", - "twoFactorProtected": "Sua conta está protegida com autenticação de dois fatores", - "twoFactorActive": "A autenticação de dois fatores está atualmente ativa em sua conta", - "disable2FA": "Desativar 2FA", - "disableTwoFactorWarning": "Desativar a autenticação de dois fatores tornará sua conta menos segura", - "passwordOrTotpCode": "Senha ou Código TOTP", - "or": "Ou", - "generateNewBackupCodesText": "Gere novos códigos de backup se você perdeu os existentes", - "generateNewBackupCodes": "Gerar Novos Códigos de Backup", - "yourBackupCodes": "Seus Códigos de Backup", - "download": "Baixar", - "setupTwoFactorTitle": "Configurar Autenticação de Dois Fatores", - "step1ScanQR": "Passo 1: Escaneie o código QR com seu aplicativo autenticador", - "manualEntryCode": "Código de Entrada Manual", - "cannotScanQRText": "Se você não conseguir escanear o código QR, digite este código manualmente no seu aplicativo autenticador", - "nextVerifyCode": "Próximo: Verificar Código", - "verifyAuthenticator": "Verifique Seu Autenticador", - "step2EnterCode": "Passo 2: Digite o código de 6 dígitos do seu aplicativo autenticador", - "verificationCode": "Código de Verificação", - "back": "Voltar", - "verifyAndEnable": "Verificar e Ativar", - "saveBackupCodesTitle": "Salve Seus Códigos de Backup", - "step3StoreCodesSecurely": "Passo 3: Guarde estes códigos em um local seguro", - "importantBackupCodesText": "Salve estes códigos de backup em um local seguro. Você pode usá-los para acessar sua conta se perder seu dispositivo autenticador.", - "completeSetup": "Concluir Configuração", - "notEnabledText": "A autenticação de dois fatores adiciona uma camada extra de segurança ao exigir um código do seu aplicativo autenticador ao fazer login.", - "enableTwoFactorButton": "Ativar Autenticação de Dois Fatores", - "addExtraSecurityLayer": "Adicione uma camada extra de segurança à sua conta", - "firstUser": "Primeiro Usuário", - "firstUserMessage": "Você é o primeiro usuário e será tornado administrador. Você pode ver as configurações de administrador no menu suspenso do usuário na barra lateral. Se você acha que isso é um erro, verifique os logs do docker ou crie uma issue no GitHub.", - "external": "Externo", - "loginWithExternal": "Entrar com Provedor Externo", - "loginWithExternalDesc": "Entre usando seu provedor de identidade externo configurado", - "externalNotSupportedInElectron": "A autenticação externa ainda não é suportada no aplicativo Electron. Por favor, use a versão web para login OIDC.", - "resetPasswordButton": "Redefinir Senha", - "sendResetCode": "Enviar Código de Redefinição", - "resetCodeDesc": "Digite seu nome de usuário para receber um código de redefinição de senha. O código será registrado nos logs do container docker.", - "resetCode": "Código de Redefinição", - "verifyCodeButton": "Verificar Código", - "enterResetCode": "Digite o código de 6 dígitos dos logs do container docker para o usuário:", - "goToLogin": "Ir para Login", - "newPassword": "Nova Senha", - "confirmNewPassword": "Confirmar Senha", - "enterNewPassword": "Digite sua nova senha para o usuário:", - "passwordResetSuccess": "Sucesso!", - "signUp": "Cadastrar", - "dataLossWarning": "Redefinir sua senha desta forma excluirá todos os seus hosts SSH salvos, credenciais e outros dados criptografados. Esta ação não pode ser desfeita. Use isso apenas se você esqueceu sua senha e não está logado.", - "sshAuthenticationRequired": "Autenticação SSH Necessária", - "sshNoKeyboardInteractive": "Autenticação Interativa por Teclado Indisponível", - "sshAuthenticationFailed": "Falha na Autenticação", - "sshAuthenticationTimeout": "Tempo Limite de Autenticação", - "sshNoKeyboardInteractiveDescription": "O servidor não suporta autenticação interativa por teclado. Por favor, forneça sua senha ou chave SSH.", - "sshAuthFailedDescription": "As credenciais fornecidas estavam incorretas. Por favor, tente novamente com credenciais válidas.", - "sshTimeoutDescription": "A tentativa de autenticação expirou. Por favor, tente novamente.", - "sshProvideCredentialsDescription": "Por favor, forneça suas credenciais SSH para conectar a este servidor.", - "sshPasswordDescription": "Digite a senha para esta conexão SSH.", - "sshKeyPasswordDescription": "Se sua chave SSH estiver criptografada, digite a senha aqui.", - "authenticating": "Autenticando...", - "authenticationDisabled": "Autenticação Desativada", - "authenticationDisabledDesc": "Todos os métodos de autenticação estão atualmente desativados. Por favor, contate seu administrador.", - "desktopApp": "App Desktop", - "loadingServer": "Carregando servidor...", - "loggingInToDesktopApp": "Entrando no app desktop", - "loggingInToDesktopAppViaWeb": "Entrando no app desktop via interface web", - "loggingInToMobileApp": "Entrando no app mobile", - "mobileApp": "App Mobile", - "redirectingToApp": "Redirecionando para o app...", - "passwordResetSuccessDesc": "Sua senha foi redefinida com sucesso. Você pode agora entrar com sua nova senha." - }, - "errors": { - "notFound": "Página não encontrada", - "unauthorized": "Acesso não autorizado", - "forbidden": "Acesso proibido", - "serverError": "Erro no servidor", - "networkError": "Erro de rede", - "databaseConnection": "Não foi possível conectar ao banco de dados.", - "unknownError": "Erro desconhecido", - "loginFailed": "Falha no login", - "failedPasswordReset": "Falha ao iniciar redefinição de senha", - "failedVerifyCode": "Falha ao verificar código de redefinição", - "failedCompleteReset": "Falha ao completar redefinição de senha", - "invalidTotpCode": "Código TOTP inválido", - "failedOidcLogin": "Falha ao iniciar login OIDC", - "failedUserInfo": "Falha ao obter informações do usuário após login OIDC", - "oidcAuthFailed": "Falha na autenticação OIDC", - "noTokenReceived": "Nenhum token recebido do login", - "invalidAuthUrl": "URL de autorização inválida recebida do backend", - "invalidInput": "Entrada inválida", - "requiredField": "Este campo é obrigatório", - "minLength": "O comprimento mínimo é {{min}}", - "maxLength": "O comprimento máximo é {{max}}", - "invalidEmail": "Endereço de email inválido", - "passwordMismatch": "As senhas não correspondem", - "weakPassword": "A senha é muito fraca", - "usernameExists": "Nome de usuário já existe", - "emailExists": "Email já existe", - "loadFailed": "Falha ao carregar dados", - "saveError": "Falha ao salvar", - "sessionExpired": "Sessão expirada - por favor, faça login novamente", - "passwordLoginDisabled": "Login com nome de usuário/senha está atualmente desativado" - }, - "messages": { - "saveSuccess": "Salvo com sucesso", - "saveError": "Falha ao salvar", - "deleteSuccess": "Excluído com sucesso", - "deleteError": "Falha ao excluir", - "updateSuccess": "Atualizado com sucesso", - "updateError": "Falha ao atualizar", - "copySuccess": "Copiado para a área de transferência", - "copyError": "Falha ao copiar", - "copiedToClipboard": "{{item}} copiado para a área de transferência", - "connectionEstablished": "Conexão estabelecida", - "connectionClosed": "Conexão fechada", - "reconnecting": "Reconectando...", - "processing": "Processando...", - "pleaseWait": "Por favor, aguarde...", - "registrationDisabled": "O registro de novas contas está atualmente desativado pelo administrador. Por favor, faça login ou entre em contato com um administrador.", - "databaseConnected": "Conectado ao banco de dados com sucesso", - "databaseConnectionFailed": "Falha ao conectar ao servidor de banco de dados", - "checkServerConnection": "Por favor, verifique sua conexão com o servidor e tente novamente", - "resetCodeSent": "Código de redefinição enviado para os logs do Docker", - "codeVerified": "Código verificado com sucesso", - "passwordResetSuccess": "Senha redefinida com sucesso", - "loginSuccess": "Login realizado com sucesso", - "registrationSuccess": "Registro realizado com sucesso" - }, - "profile": { - "title": "Perfil do Usuário", - "description": "Gerenciar suas configurações de conta e segurança", - "security": "Segurança", - "changePassword": "Alterar Senha", - "twoFactorAuth": "Autenticação de Dois Fatores", - "accountInfo": "Informações da Conta", - "role": "Função", - "admin": "Administrador", - "user": "Usuário", - "authMethod": "Método de Autenticação", - "local": "Local", - "external": "Externo (OIDC)", - "selectPreferredLanguage": "Selecione seu idioma preferido para a interface", - "fileColorCoding": "Codificação de Cores de Arquivos", - "fileColorCodingDesc": "Codificar arquivos por cores por tipo: pastas (vermelho), arquivos (azul), links simbólicos (verde)", - "commandAutocomplete": "Autocompletar Comandos", - "commandAutocompleteDesc": "Ativar sugestões de autocompletar com a tecla Tab para comandos do terminal baseado no seu histórico", - "defaultSnippetFoldersCollapsed": "Recolher Pastas de Snippets por Padrão", - "defaultSnippetFoldersCollapsedDesc": "Quando ativado, todas as pastas de snippets serão recolhidas ao abrir a aba de snippets", - "currentPassword": "Senha Atual", - "passwordChangedSuccess": "Senha alterada com sucesso! Por favor, faça login novamente.", - "failedToChangePassword": "Falha ao alterar a senha. Por favor, verifique sua senha atual e tente novamente.", - "externalAndLocal": "Autenticação Dupla" - }, - "user": { - "failedToLoadVersionInfo": "Falha ao carregar informações da versão" - }, - "placeholders": { - "enterCode": "000000", - "ipAddress": "127.0.0.1", - "port": "22", - "maxRetries": "3", - "retryInterval": "10", - "language": "Idioma", - "username": "nome de usuário", - "hostname": "nome do host", - "folder": "pasta", - "password": "senha", - "keyPassword": "senha da chave", - "pastePrivateKey": "Cole sua chave privada aqui...", - "pastePublicKey": "Cole sua chave pública aqui...", - "credentialName": "Meu Servidor SSH", - "description": "Descrição da credencial SSH", - "searchCredentials": "Pesquisar credenciais por nome, usuário ou tags...", - "sshConfig": "configuração do endpoint ssh", - "homePath": "/home", - "clientId": "seu-client-id", - "clientSecret": "seu-client-secret", - "authUrl": "https://seu-provedor.com/application/o/authorize/", - "redirectUrl": "https://seu-provedor.com/application/o/termix/", - "tokenUrl": "https://seu-provedor.com/application/o/token/", - "userIdField": "sub", - "usernameField": "nome", - "scopes": "openid email profile", - "userinfoUrl": "https://seu-provider.com/application/o/userinfo/", - "enterUsername": "Digite o nome de usuário para tornar administrador", - "searchHosts": "Procurar hosts por nome, usuário, IP, pasta, tags...", - "enterPassword": "Digite sua senha", - "totpCode": "Código TOTP de 6 dígitos", - "searchHostsAny": "Procurar hosts por qualquer informação...", - "confirmPassword": "Digite sua senha para confirmar", - "typeHere": "Digite aqui", - "fileName": "Digite o nome do arquivo (ex: exemplo.txt)", - "folderName": "Digite o nome da pasta", - "fullPath": "Digite o caminho completo do item", - "currentPath": "Digite o caminho atual do item", - "newName": "Digite o novo nome" - }, - "leftSidebar": { - "failedToLoadHosts": "Falha ao carregar hosts", - "noFolder": "Sem Pasta", - "passwordRequired": "Senha é obrigatória", - "failedToDeleteAccount": "Falha ao excluir conta", - "failedToMakeUserAdmin": "Falha ao tornar usuário administrador", - "userIsNowAdmin": "Usuário {{username}} agora é um administrador", - "removeAdminConfirm": "Tem certeza que deseja remover o status de administrador de {{username}}?", - "deleteUserConfirm": "Tem certeza que deseja excluir o usuário {{username}}? Esta ação não pode ser desfeita.", - "deleteAccount": "Excluir Conta", - "closeDeleteAccount": "Fechar Exclusão de Conta", - "deleteAccountWarning": "Esta ação não pode ser desfeita. Isso excluirá permanentemente sua conta e todos os dados associados.", - "deleteAccountWarningDetails": "Excluir sua conta removerá todos os seus dados, incluindo hosts SSH, configurações e preferências. Esta ação é irreversível.", - "deleteAccountWarningShort": "Esta ação é irreversível e excluirá permanentemente sua conta.", - "cannotDeleteAccount": "Não é Possível Excluir Conta", - "lastAdminWarning": "Você é o último administrador. Você não pode excluir sua conta pois isso deixaria o sistema sem administradores. Por favor, torne outro usuário administrador primeiro, ou contate o suporte do sistema.", - "confirmPassword": "Confirmar Senha", - "deleting": "Excluindo...", - "cancel": "Cancelar" - }, - "interface": { - "sidebar": "Barra lateral", - "toggleSidebar": "Alternar Barra lateral", - "close": "Fechar", - "online": "Online", - "offline": "Offline", - "maintenance": "Manutenção", - "degraded": "Degradado", - "noTunnelConnections": "Nenhuma conexão de túnel configurada", - "discord": "Discord", - "connectToSshForOperations": "Conecte-se ao SSH para usar operações de arquivos", - "uploadFile": "Enviar Arquivo", - "newFile": "Novo Arquivo", - "newFolder": "Nova Pasta", - "rename": "Renomear", - "deleteItem": "Excluir Item", - "createNewFile": "Criar Novo Arquivo", - "createNewFolder": "Criar Nova Pasta", - "renameItem": "Renomear Item", - "clickToSelectFile": "Clique para selecionar um arquivo", - "noSshHosts": "Sem Hosts SSH", - "sshHosts": "Hosts SSH", - "importSshHosts": "Importar Hosts SSH do JSON", - "clientId": "ID do Cliente", - "clientSecret": "Segredo do Cliente", - "error": "Erro", - "warning": "Aviso", - "deleteAccount": "Excluir Conta", - "closeDeleteAccount": "Fechar Exclusão de Conta", - "cannotDeleteAccount": "Não é Possível Excluir a Conta", - "confirmPassword": "Confirmar Senha", - "deleting": "Excluindo...", - "externalAuth": "Autenticação Externa (OIDC)", - "configureExternalProvider": "Configurar provedor de identidade externa para", - "waitingForRetry": "Aguardando nova tentativa", - "retryingConnection": "Tentando reconectar", - "resetSplitSizes": "Redefinir tamanhos divididos", - "sshManagerAlreadyOpen": "Gerenciador SSH já está aberto", - "disabledDuringSplitScreen": "Desativado durante tela dividida", - "unknown": "Desconhecido", - "connected": "Conectado", - "disconnected": "Desconectado", - "maxRetriesExhausted": "Número máximo de tentativas esgotado", - "endpointHostNotFound": "Host do endpoint não encontrado", - "administrator": "Administrador", - "user": "Usuário", - "external": "Externo", - "local": "Local", - "saving": "Salvando...", - "saveConfiguration": "Salvar Configuração", - "loading": "Carregando...", - "refresh": "Atualizar", - "adding": "Adicionando...", - "makeAdmin": "Tornar Administrador", - "verifying": "Verificando...", - "verifyAndEnable": "Verificar e Habilitar", - "secretKey": "Chave secreta", - "totpQrCode": "QR Code TOTP", - "passwordRequired": "Senha é obrigatória quando usar autenticação por senha", - "sshKeyRequired": "Chave Privada SSH é obrigatória quando usar autenticação por chave", - "keyTypeRequired": "Tipo de Chave é obrigatório quando usar autenticação por chave", - "validSshConfigRequired": "Deve selecionar uma configuração SSH válida da lista", - "updateHost": "Atualizar Host", - "addHost": "Adicionar Host", - "editHost": "Editar Host", - "pinConnection": "Fixar Conexão", - "authentication": "Autenticação", - "password": "Senha", - "key": "Chave", - "sshPrivateKey": "Chave Privada SSH", - "keyPassword": "Senha da Chave", - "keyType": "Tipo de Chave", - "enableTerminal": "Habilitar Terminal", - "enableTunnel": "Habilitar Túnel", - "enableFileManager": "Habilitar Gerenciador de Arquivos", - "defaultPath": "Caminho Padrão", - "tunnelConnections": "Conexões de Túnel", - "maxRetries": "Máximo de Tentativas", - "upload": "Enviar", - "updateKey": "Atualizar Chave", - "productionFolder": "Produção", - "databaseServer": "Servidor de Banco de Dados", - "developmentServer": "Servidor de Desenvolvimento", - "developmentFolder": "Desenvolvimento", - "webServerProduction": "Servidor Web - Produção", - "unknownError": "Erro desconhecido", - "failedToInitiatePasswordReset": "Falha ao iniciar redefinição de senha", - "failedToVerifyResetCode": "Falha ao verificar código de redefinição", - "failedToCompletePasswordReset": "Falha ao completar redefinição de senha", - "invalidTotpCode": "Código TOTP inválido", - "failedToStartOidcLogin": "Falha ao iniciar login OIDC", - "failedToGetUserInfoAfterOidc": "Falha ao obter informações do usuário após login OIDC", - "loginWithExternalProvider": "Login com provedor externo", - "loginWithExternal": "Login com Provedor Externo", - "sendResetCode": "Enviar Código de Redefinição", - "verifyCode": "Verificar Código", - "resetPassword": "Redefinir Senha", - "login": "Login", - "signUp": "Cadastrar", - "failedToUpdateOidcConfig": "Falha ao atualizar configuração OIDC", - "failedToMakeUserAdmin": "Falha ao tornar usuário administrador", - "failedToStartTotpSetup": "Falha ao iniciar configuração TOTP", - "invalidVerificationCode": "Código de verificação inválido", - "failedToDisableTotp": "Falha ao desabilitar TOTP", - "failedToGenerateBackupCodes": "Falha ao gerar códigos de backup" - }, - "mobile": { - "selectHostToStart": "Selecione um host para iniciar sua sessão do terminal", - "limitedSupportMessage": "O suporte móvel do site ainda está em desenvolvimento. Use o aplicativo móvel para uma melhor experiência.", - "mobileAppInProgress": "Aplicativo móvel em desenvolvimento", - "mobileAppInProgressDesc": "Estamos trabalhando em um aplicativo móvel dedicado para proporcionar uma melhor experiência em dispositivos móveis.", - "viewMobileAppDocs": "Instalar Aplicativo Móvel", - "mobileAppDocumentation": "Documentação do Aplicativo Móvel" - }, - "commandPalette": { - "addCredential": "Adicionar Credencial", - "addHost": "Adicionar Host", - "adminSettings": "Configurações de Administrador", - "close": "Fechar", - "discord": "Discord", - "donate": "Doar", - "edit": "Editar", - "github": "GitHub", - "hostManager": "Gerenciador de Hosts", - "hosts": "Hosts", - "links": "Links", - "navigation": "Navegação", - "openFileManager": "Abrir Gerenciador de Arquivos", - "openServerDetails": "Abrir Detalhes do Servidor", - "press": "Pressione", - "recentActivity": "Atividade Recente", - "searchPlaceholder": "Pesquisar por hosts ou ações rápidas...", - "support": "Suporte", - "toToggle": "para alternar", - "updateLog": "Log de Atualizações", - "userProfile": "Perfil do Usuário" - }, - "dashboard": { - "addCredential": "Adicionar Credencial", - "addHost": "Adicionar Host", - "adminSettings": "Configurações de Administrador", - "cpu": "CPU", - "database": "Banco de Dados", - "discord": "Discord", - "donate": "Doar", - "error": "Erro", - "github": "GitHub", - "healthy": "Saudável", - "loadingRecentActivity": "Carregando atividade recente...", - "loadingServerStats": "Carregando estatísticas do servidor...", - "noRecentActivity": "Nenhuma atividade recente", - "noServerData": "Nenhum dado do servidor disponível", - "notAvailable": "N/D", - "quickActions": "Ações Rápidas", - "ram": "RAM", - "recentActivity": "Atividade Recente", - "reset": "Redefinir", - "serverOverview": "Visão Geral do Servidor", - "serverStats": "Estatísticas do Servidor", - "support": "Suporte", - "title": "Painel", - "totalCredentials": "Total de Credenciais", - "totalServers": "Total de Servidores", - "totalTunnels": "Total de Túneis", - "upToDate": "Atualizado", - "updateAvailable": "Atualização Disponível", - "uptime": "Tempo de Atividade", - "userProfile": "Perfil do Usuário", - "version": "Versão" - }, - "snippets": { - "content": "Comando", - "contentPlaceholder": "ex: sudo systemctl restart nginx", - "contentRequired": "Comando é obrigatório", - "copySuccess": "Copiado \"{{name}}\" para área de transferência", - "copyTooltip": "Copiar snippet para área de transferência", - "create": "Criar Snippet", - "createDescription": "Criar um novo snippet de comando para execução rápida", - "createFailed": "Falha ao criar snippet", - "createSuccess": "Snippet criado com sucesso", - "deleteConfirmDescription": "Tem certeza de que deseja excluir \"{{name}}\"?", - "deleteConfirmTitle": "Excluir Snippet", - "deleteFailed": "Falha ao excluir snippet", - "deleteSuccess": "Snippet excluído com sucesso", - "deleteTooltip": "Excluir este snippet", - "description": "Descrição", - "descriptionPlaceholder": "Descrição opcional", - "edit": "Editar Snippet", - "editDescription": "Editar este snippet de comando", - "editTooltip": "Editar este snippet", - "empty": "Nenhum snippet ainda", - "emptyHint": "Crie um snippet para salvar comandos comumente usados", - "executeSuccess": "Executando: {{name}}", - "failedToFetch": "Falha ao buscar snippets", - "name": "Nome", - "namePlaceholder": "ex: Reiniciar Nginx", - "nameRequired": "Nome é obrigatório", - "new": "Novo Snippet", - "run": "Executar", - "runTooltip": "Executar este snippet no terminal", - "title": "Snippets", - "updateFailed": "Falha ao atualizar snippet", - "updateSuccess": "Snippet atualizado com sucesso" + "tabNavigation": "Navegação de Abas" } -} \ No newline at end of file +} diff --git a/src/locales/ru/translation.json b/src/locales/ru/translation.json index f4f5d66b..4d8790e5 100644 --- a/src/locales/ru/translation.json +++ b/src/locales/ru/translation.json @@ -28,7 +28,7 @@ "failedToFetchCredentials": "Не удалось загрузить учетные данные", "credentialDeletedSuccessfully": "Учетные данные успешно удалены", "failedToDeleteCredential": "Не удалось удалить учетные данные", - "confirmDeleteCredential": "Вы уверены, что хотите удалить учетные данные \"{{name}}\"?", + "confirmDeleteCredential": "Вы уверены, что хотите удалить учетные данные \"{{name}}\" ?", "credentialCreatedSuccessfully": "Учетные данные успешно созданы", "credentialUpdatedSuccessfully": "Учетные данные успешно обновлены", "failedToSaveCredential": "Не удалось сохранить учетные данные", @@ -108,6 +108,7 @@ "orCreateNewFolder": "Или создать новую папку", "addTag": "Добавить тег", "saving": "Сохранение...", + "credentialId": "ID учетных данных", "overview": "Обзор", "security": "Безопасность", "usage": "Использование", @@ -164,8 +165,7 @@ "generateKeyPairNote": "Сгенерировать новую пару SSH-ключей напрямую. Это заменит любые существующие ключи в форме.", "invalidKey": "Неверный ключ", "detectionError": "Ошибка определения", - "unknown": "Неизвестно", - "credentialId": "Учётные данные ID" + "unknown": "Неизвестно" }, "dragIndicator": { "error": "Ошибка: {{error}}", @@ -188,7 +188,10 @@ "commandsWillBeSent": "Команды будут отправлены в {{count}} выбранных терминалов.", "settings": "Настройки", "enableRightClickCopyPaste": "Включить копирование/вставку по правому клику", - "shareIdeas": "Есть идеи, что должно быть следующим для SSH-инструментов? Поделитесь ими на" + "shareIdeas": "Есть идеи, что должно быть следующим для SSH-инструментов? Поделитесь ими на", + "scripts": { + "inputPlaceholder": "например, Системные команды, Скрипты Docker" + } }, "snippets": { "title": "Сниппеты", @@ -209,7 +212,7 @@ "createDescription": "Создать новый сниппет команды для быстрого выполнения", "editDescription": "Редактировать этот сниппет команды", "deleteConfirmTitle": "Удалить сниппет", - "deleteConfirmDescription": "Вы уверены, что хотите удалить \"{{name}}\"?", + "deleteConfirmDescription": "Вы уверены, что хотите удалить \"{{name}}\" ?", "createSuccess": "Сниппет успешно создан", "updateSuccess": "Сниппет успешно обновлен", "deleteSuccess": "Сниппет успешно удален", @@ -300,6 +303,9 @@ "loading": "Загрузка...", "required": "Обязательно", "optional": "Опционально", + "connect": "Подключить", + "connecting": "Подключение...", + "creating": "Создание...", "clear": "Очистить", "toggleSidebar": "Переключить боковую панель", "sidebar": "Боковая панель", @@ -314,7 +320,7 @@ "noAuthCredentials": "Нет учетных данных аутентификации для этого SSH-хоста", "noReleases": "Нет выпусков", "updatesAndReleases": "Обновления и выпуски", - "newVersionAvailable": "Доступна новая версия ({{version}}).", + "newVersionAvailable": "Доступна новая версия ({{version}})", "failedToFetchUpdateInfo": "Не удалось загрузить информацию об обновлениях", "preRelease": "Предварительный выпуск", "loginFailed": "Ошибка входа", @@ -348,6 +354,7 @@ "submit": "Отправить", "change": "Изменить", "save": "Сохранить", + "saving": "Сохранение...", "delete": "Удалить", "edit": "Редактировать", "add": "Добавить", @@ -385,9 +392,10 @@ "retry": "Повторить", "checking": "Проверка...", "checkingDatabase": "Проверка подключения к базе данных...", - "connect": "Подключить", - "connecting": "Подключение...", - "saving": "Сохранение..." + "actions": "Действия", + "remove": "Удалить", + "revoke": "Отозвать", + "create": "Создать" }, "nav": { "home": "Главная", @@ -408,1433 +416,5 @@ "hostManager": "Менеджер хостов", "cannotSplitTab": "Невозможно разделить эту вкладку", "tabNavigation": "Навигация по вкладкам" - }, - "admin": { - "title": "Настройки администратора", - "oidc": "OIDC", - "users": "Пользователи", - "userManagement": "Управление пользователями", - "makeAdmin": "Сделать администратором", - "removeAdmin": "Убрать администратора", - "deleteUser": "Удалить пользователя {{username}}? Это нельзя отменить.", - "allowRegistration": "Разрешить регистрацию", - "oidcSettings": "Настройки OIDC", - "clientId": "Client ID", - "clientSecret": "Client Secret", - "issuerUrl": "Issuer URL", - "authorizationUrl": "Authorization URL", - "tokenUrl": "Token URL", - "updateSettings": "Обновить настройки", - "confirmDelete": "Вы уверены, что хотите удалить этого пользователя?", - "confirmMakeAdmin": "Вы уверены, что хотите сделать этого пользователя администратором?", - "confirmRemoveAdmin": "Вы уверены, что хотите убрать права администратора у этого пользователя?", - "externalAuthentication": "Внешняя аутентификация (OIDC)", - "configureExternalProvider": "Настройте внешнего провайдера идентификации для аутентификации OIDC/OAuth2.", - "userIdentifierPath": "Путь к идентификатору пользователя", - "displayNamePath": "Путь к отображаемому имени", - "scopes": "Области действия", - "saving": "Сохранение...", - "saveConfiguration": "Сохранить конфигурацию", - "reset": "Сбросить", - "success": "Успех", - "loading": "Загрузка...", - "refresh": "Обновить", - "loadingUsers": "Загрузка пользователей...", - "username": "Имя пользователя", - "type": "Тип", - "actions": "Действия", - "external": "Внешний", - "local": "Локальный", - "adminManagement": "Управление администраторами", - "makeUserAdmin": "Сделать пользователя администратором", - "adding": "Добавление...", - "currentAdmins": "Текущие администраторы", - "adminBadge": "Администратор", - "removeAdminButton": "Убрать администратора", - "general": "Общее", - "userRegistration": "Регистрация пользователей", - "allowNewAccountRegistration": "Разрешить регистрацию новых учетных записей", - "allowPasswordLogin": "Разрешить вход по имени пользователя/паролю", - "missingRequiredFields": "Отсутствуют обязательные поля: {{fields}}", - "oidcConfigurationUpdated": "Конфигурация OIDC успешно обновлена!", - "failedToFetchOidcConfig": "Не удалось загрузить конфигурацию OIDC", - "failedToFetchRegistrationStatus": "Не удалось загрузить статус регистрации", - "failedToFetchPasswordLoginStatus": "Не удалось загрузить статус входа по паролю", - "failedToFetchUsers": "Не удалось загрузить пользователей", - "oidcConfigurationDisabled": "Конфигурация OIDC успешно отключена!", - "failedToUpdateOidcConfig": "Не удалось обновить конфигурацию OIDC", - "failedToDisableOidcConfig": "Не удалось отключить конфигурацию OIDC", - "enterUsernameToMakeAdmin": "Введите имя пользователя, чтобы сделать администратором", - "userIsNowAdmin": "Пользователь {{username}} теперь администратор", - "failedToMakeUserAdmin": "Не удалось сделать пользователя администратором", - "removeAdminStatus": "Убрать статус администратора у {{username}}?", - "adminStatusRemoved": "Статус администратора убран у {{username}}", - "failedToRemoveAdminStatus": "Не удалось убрать статус администратора", - "userDeletedSuccessfully": "Пользователь {{username}} успешно удален", - "failedToDeleteUser": "Не удалось удалить пользователя", - "overrideUserInfoUrl": "Переопределить Пользователь Info URL (не требуется)", - "databaseSecurity": "Безопасность базы данных", - "encryptionStatus": "Статус шифрования", - "encryptionEnabled": "Шифрование включено", - "enabled": "Включено", - "disabled": "Отключено", - "keyId": "ID ключа", - "created": "Создано", - "migrationStatus": "Статус миграции", - "migrationCompleted": "Миграция завершена", - "migrationRequired": "Требуется миграция", - "deviceProtectedMasterKey": "Мастер-ключ, защищенный средой", - "legacyKeyStorage": "Устаревшее хранилище ключей", - "masterKeyEncryptedWithDeviceFingerprint": "Мастер-ключ зашифрован с помощью отпечатка среды (защита KEK активна)", - "keyNotProtectedByDeviceBinding": "Ключ не защищен привязкой к среде (рекомендуется обновление)", - "valid": "Действителен", - "initializeDatabaseEncryption": "Инициализировать шифрование базы данных", - "enableAes256EncryptionWithDeviceBinding": "Включить AES-256 шифрование с защитой мастер-ключа, привязанного к среде. Это создает безопасность корпоративного уровня для SSH-ключей, паролей и токенов аутентификации.", - "featuresEnabled": "Включенные функции:", - "aes256GcmAuthenticatedEncryption": "Аутентифицированное шифрование AES-256-GCM", - "deviceFingerprintMasterKeyProtection": "Защита мастер-ключа отпечатком среды (KEK)", - "pbkdf2KeyDerivation": "Производство ключей PBKDF2 с 100K итерациями", - "automaticKeyManagement": "Автоматическое управление ключами и их ротация", - "initializing": "Инициализация...", - "initializeEnterpriseEncryption": "Инициализировать корпоративное шифрование", - "migrateExistingData": "Мигрировать существующие данные", - "encryptExistingUnprotectedData": "Зашифровать существующие незащищенные данные в вашей базе данных. Этот процесс безопасен и создает автоматические резервные копии.", - "testMigrationDryRun": "Проверить совместимость шифрования", - "migrating": "Миграция...", - "migrateData": "Мигрировать данные", - "securityInformation": "Информация о безопасности", - "sshPrivateKeysEncryptedWithAes256": "SSH-приватные ключи и пароли зашифрованы с помощью AES-256-GCM", - "userAuthTokensProtected": "Токены аутентификации пользователей и секреты 2FA защищены", - "masterKeysProtectedByDeviceFingerprint": "Мастер-ключи шифрования защищены отпечатком устройства (KEK)", - "keysBoundToServerInstance": "Ключи привязаны к текущей серверной среде (мигрируемы через переменные окружения)", - "pbkdf2HkdfKeyDerivation": "Производство ключей PBKDF2 + HKDF с 100K итерациями", - "backwardCompatibleMigration": "Все данные остаются обратно совместимыми во время миграции", - "enterpriseGradeSecurityActive": "Безопасность корпоративного уровня активна", - "masterKeysProtectedByDeviceBinding": "Ваши мастер-ключи шифрования защищены отпечатком среды. Это использует имя хоста сервера, пути и другую информацию о среде для генерации ключей защиты. Для миграции серверов установите переменную окружения DB_ENCRYPTION_KEY на новом сервере.", - "important": "Важно", - "keepEncryptionKeysSecure": "Обеспечьте безопасность данных: регулярно создавайте резервные копии файлов базы данных и конфигурации сервера. Для миграции на новый сервер установите переменную окружения DB_ENCRYPTION_KEY в новой среде или сохраните то же имя хоста и структуру каталогов.", - "loadingEncryptionStatus": "Загрузка статуса шифрования...", - "testMigrationDescription": "Проверить, что существующие данные могут быть безопасно мигрированы в зашифрованный формат без фактического изменения каких-либо данных", - "serverMigrationGuide": "Руководство по миграции сервера", - "migrationInstructions": "Для миграции зашифрованных данных на новый сервер: 1) Создайте резервную копию файлов базы данных, 2) Установите переменную окружения DB_ENCRYPTION_KEY=\"your-key\" на новом сервере, 3) Восстановите файлы базы данных", - "environmentProtection": "Защита среды", - "environmentProtectionDesc": "Защищает ключи шифрования на основе информации о серверной среде (имя хоста, пути и т.д.), мигрируемы через переменные окружения", - "verificationCompleted": "Проверка совместимости завершена - данные не изменялись", - "verificationInProgress": "Проверка завершена", - "dataMigrationCompleted": "Миграция данных успешно завершена!", - "verificationFailed": "Проверка совместимости не удалась", - "migrationFailed": "Миграция не удалась", - "runningVerification": "Выполняется проверка совместимости...", - "startingMigration": "Начало миграции...", - "hardwareFingerprintSecurity": "Безопасность отпечатка оборудования", - "hardwareBoundEncryption": "Активно шифрование, привязанное к оборудованию", - "masterKeysNowProtectedByHardwareFingerprint": "Мастер-ключи теперь защищены реальным отпечатком оборудования вместо переменных окружения", - "cpuSerialNumberDetection": "Обнаружение серийного номера CPU", - "motherboardUuidIdentification": "Идентификация UUID материнской платы", - "diskSerialNumberVerification": "Проверка серийного номера диска", - "biosSerialNumberCheck": "Проверка серийного номера BIOS", - "stableMacAddressFiltering": "Фильтрация стабильных MAC-адресов", - "databaseFileEncryption": "Шифрование файлов базы данных", - "dualLayerProtection": "Активна двухуровневая защита", - "bothFieldAndFileEncryptionActive": "Теперь активны как полевое, так и файловое шифрование для максимальной безопасности", - "fieldLevelAes256Encryption": "Полевое шифрование AES-256 для конфиденциальных данных", - "fileLevelDatabaseEncryption": "Файловое шифрование базы данных с привязкой к оборудованию", - "hardwareBoundFileKeys": "Ключи шифрования файлов, привязанные к оборудованию", - "automaticEncryptedBackups": "Автоматическое создание зашифрованных резервных копий", - "createEncryptedBackup": "Создать зашифрованную резервную копию", - "creatingBackup": "Создание резервной копии...", - "backupCreated": "Резервная копия создана", - "encryptedBackupCreatedSuccessfully": "Зашифрованная резервная копия успешно создана", - "backupCreationFailed": "Не удалось создать резервную копию", - "databaseMigration": "Миграция базы данных", - "exportForMigration": "Экспорт для миграции", - "exportDatabaseForHardwareMigration": "Экспортировать базу данных как файл SQLite с расшифрованными данными для миграции на новое оборудование", - "exportDatabase": "Экспортировать базу данных SQLite", - "exporting": "Экспорт...", - "exportCreated": "Экспорт SQLite создан", - "exportContainsDecryptedData": "Экспорт SQLite содержит расшифрованные данные - храните безопасно!", - "databaseExportedSuccessfully": "База данных SQLite успешно экспортирована", - "databaseExportFailed": "Не удалось экспортировать базу данных SQLite", - "importFromMigration": "Импорт из миграции", - "importDatabaseFromAnotherSystem": "Импортировать базу данных SQLite из другой системы или оборудования", - "importDatabase": "Импортировать базу данных SQLite", - "importing": "Импорт...", - "selectedFile": "Выбранный файл SQLite", - "importWillReplaceExistingData": "Импорт SQLite заменит существующие данные - рекомендуется резервное копирование!", - "pleaseSelectImportFile": "Пожалуйста, выберите файл для импорта SQLite", - "databaseImportedSuccessfully": "База данных SQLite успешно импортирована", - "databaseImportFailed": "Не удалось импортировать базу данных SQLite", - "manageEncryptionAndBackups": "Управление ключами шифрования, безопасностью базы данных и операциями резервного копирования", - "activeSecurityFeatures": "Текущие активные меры безопасности и защиты", - "deviceBindingTechnology": "Продвинутая технология защиты ключей на основе оборудования", - "backupAndRecovery": "Безопасное создание резервных копий и восстановление базы данных", - "crossSystemDataTransfer": "Экспорт и импорт баз данных между разными системами", - "noMigrationNeeded": "Миграция не требуется", - "encryptionKey": "Ключ шифрования", - "keyProtection": "Защита ключа", - "active": "Активно", - "legacy": "Устаревшее", - "dataStatus": "Статус данных", - "encrypted": "Зашифровано", - "needsMigration": "Требуется миграция", - "ready": "Готово", - "initializeEncryption": "Инициализировать шифрование", - "initialize": "Инициализировать", - "test": "Тест", - "migrate": "Мигрировать", - "backup": "Резервная копия", - "createBackup": "Создать резервную копию", - "exportImport": "Экспорт/Импорт", - "export": "Экспорт", - "import": "Импорт", - "passwordRequired": "Требуется пароль", - "confirmExport": "Подтвердить экспорт", - "exportDescription": "Экспортировать SSH-хосты и учетные данные как файл SQLite", - "importDescription": "Импортировать файл SQLite с инкрементным слиянием (пропускает дубликаты)", - "criticalWarning": "Критическое предупреждение", - "cannotDisablePasswordLoginWithoutOIDC": "Невозможно отключить вход по паролю без настройки OIDC! Вы должны настроить аутентификацию OIDC перед отключением входа по паролю, иначе вы потеряете доступ к Termix.", - "confirmDisablePasswordLogin": "Вы уверены, что хотите отключить вход по паролю? Убедитесь, что OIDC правильно настроен и работает, прежде чем продолжить, иначе вы потеряете доступ к вашему экземпляру Termix.", - "passwordLoginDisabled": "Вход по паролю успешно отключен", - "passwordLoginAndRegistrationDisabled": "Вход по паролю и регистрация новых учетных записей успешно отключены", - "requiresPasswordLogin": "Требуется включенный вход по паролю", - "passwordLoginDisabledWarning": "Вход по паролю отключен. Убедитесь, что OIDC правильно настроен, иначе вы не сможете войти в Termix.", - "oidcRequiredWarning": "КРИТИЧЕСКИ: Вход по паролю отключен. Если вы сбросите или неправильно настроите OIDC, вы потеряете весь доступ к Termix и заблокируете свой экземпляр. Продолжайте только если вы абсолютно уверены.", - "confirmDisableOIDCWarning": "ПРЕДУПРЕЖДЕНИЕ: Вы собираетесь отключить OIDC, пока вход по паролю также отключен. Это заблокирует ваш экземпляр Termix, и вы потеряете весь доступ. Вы абсолютно уверены, что хотите продолжить?", - "accountsLinkedSuccessfully": "OIDC пользователь {{oidcUsername}} связан с {{targetUsername}}", - "confirmRevokeAllSessions": "Вы уверены, что хотите отозвать все сессии для этого пользователя?", - "confirmRevokeSession": "Вы уверены, что хотите отозвать эту сессию?", - "failedToFetchSessions": "Не удалось загрузить сессии", - "failedToLinkAccounts": "Не удалось связать аккаунты", - "failedToRevokeSession": "Не удалось отозвать сессию", - "failedToRevokeSessions": "Не удалось отозвать сессии", - "failedToUnlinkOIDC": "Не удалось отвязать OIDC", - "linkAccountsButton": "Связать аккаунты", - "linkOIDCActionAddCapability": "Добавить возможность входа через OIDC к целевому аккаунту с паролем", - "linkOIDCActionDeleteUser": "Удалить аккаунт пользователя OIDC и все его данные", - "linkOIDCActionDualAuth": "Разрешить аккаунту с паролем вход как по паролю, так и через OIDC", - "linkOIDCDialogDescription": "Связать {{username}} (пользователь OIDC) с существующим аккаунтом с паролем. Это включит двойную аутентификацию для аккаунта с паролем.", - "linkOIDCDialogTitle": "Связать аккаунт OIDC с аккаунтом с паролем", - "linkOIDCWarningTitle": "Предупреждение: Данные пользователя OIDC будут удалены", - "linkTargetUsernameLabel": "Имя пользователя целевого аккаунта с паролем", - "linkTargetUsernamePlaceholder": "Введите имя пользователя аккаунта с паролем", - "linkTargetUsernameRequired": "Целевое имя пользователя обязательно", - "linkToPasswordAccount": "Связать с аккаунтом с паролем", - "linkingAccounts": "Связывание...", - "sessionRevokedSuccessfully": "Сессия успешно отозвана", - "sessionsRevokedSuccessfully": "Сессии успешно отозваны", - "unlinkOIDCDescription": "Удалить аутентификацию OIDC для {{username}}? После этого пользователь сможет войти только с помощью имени пользователя/пароля.", - "unlinkOIDCSuccess": "OIDC отвязан от {{username}}", - "unlinkOIDCTitle": "Отвязать аутентификацию OIDC", - "failedToUpdatePasswordLoginStatus": "Не удалось обновить статус входа по паролю" - }, - "hosts": { - "title": "Менеджер хостов", - "sshHosts": "SSH-хосты", - "noHosts": "Нет SSH-хостов", - "noHostsMessage": "Вы еще не добавили SSH-хосты. Нажмите \"Добавить хост\", чтобы начать.", - "loadingHosts": "Загрузка хостов...", - "failedToLoadHosts": "Не удалось загрузить хосты", - "retry": "Повторить", - "refresh": "Обновить", - "hostsCount": "{{count}} хостов", - "importJson": "Импорт JSON", - "importing": "Импорт...", - "importJsonTitle": "Импорт SSH-хостов из JSON", - "importJsonDesc": "Загрузите JSON-файл для массового импорта нескольких SSH-хостов (макс. 100).", - "downloadSample": "Скачать образец", - "formatGuide": "Руководство по формату", - "exportCredentialWarning": "Предупреждение: Хост \"{{name}}\" использует аутентификацию по учетным данным. Экспортируемый файл не будет включать данные учетных данных, и их нужно будет вручную перенастроить после импорта. Вы хотите продолжить?", - "exportSensitiveDataWarning": "Предупреждение: Хост \"{{name}}\" содержит конфиденциальные данные аутентификации (пароль/SSH-ключ). Экспортируемый файл будет включать эти данные в открытом виде. Пожалуйста, храните файл в безопасности и удалите его после использования. Вы хотите продолжить?", - "uncategorized": "Без категории", - "confirmDelete": "Вы уверены, что хотите удалить \"{{name}}\"?", - "failedToDeleteHost": "Не удалось удалить хост", - "failedToExportHost": "Не удалось экспортировать хост. Пожалуйста, убедитесь, что вы вошли в систему и имеете доступ к данным хоста.", - "jsonMustContainHosts": "JSON должен содержать массив \"hosts\" или быть массивом хостов", - "noHostsInJson": "В JSON-файле не найдено хостов", - "maxHostsAllowed": "Разрешено максимум 100 хостов за импорт", - "importCompleted": "Импорт завершен: {{success}} успешно, {{failed}} не удалось", - "importFailed": "Импорт не удался", - "importError": "Ошибка импорта", - "failedToImportJson": "Не удалось импортировать JSON-файл", - "connectionDetails": "Детали подключения", - "organization": "Организация", - "ipAddress": "IP-адрес", - "port": "Порт", - "name": "Имя", - "username": "Имя пользователя", - "folder": "Папка", - "tags": "Теги", - "pin": "Закрепить", - "notes": "Заметки", - "expirationDate": "Дата истечения", - "passwordRequired": "Пароль требуется при использовании аутентификации по паролю", - "sshKeyRequired": "Приватный SSH-ключ требуется при использовании аутентификации по ключу", - "keyTypeRequired": "Тип ключа требуется при использовании аутентификации по ключу", - "mustSelectValidSshConfig": "Необходимо выбрать допустимую SSH-конфигурацию из списка", - "addHost": "Добавить хост", - "editHost": "Редактировать хост", - "cloneHost": "Клонировать хост", - "updateHost": "Обновить хост", - "hostUpdatedSuccessfully": "Хост \"{{name}}\" успешно обновлен!", - "hostAddedSuccessfully": "Хост \"{{name}}\" успешно добавлен!", - "hostDeletedSuccessfully": "Хост \"{{name}}\" успешно удален!", - "failedToSaveHost": "Не удалось сохранить хост. Пожалуйста, попробуйте снова.", - "enableTerminal": "Включить терминал", - "enableTerminalDesc": "Включить/отключить видимость хоста во вкладке Терминал", - "enableTunnel": "Включить туннель", - "enableTunnelDesc": "Включить/отключить видимость хоста во вкладке Туннель", - "enableFileManager": "Включить файловый менеджер", - "enableFileManagerDesc": "Включить/отключить видимость хоста во вкладке Файловый менеджер", - "defaultPath": "Путь по умолчанию", - "defaultPathDesc": "Каталог по умолчанию при открытии файлового менеджера для этого хоста", - "tunnelConnections": "Туннельные подключения", - "connection": "Подключение", - "remove": "Удалить", - "sourcePort": "Исходный порт", - "sourcePortDesc": " (Источник относится к Текущим деталям подключения во вкладке Общее)", - "endpointPort": "Порт конечной точки", - "endpointSshConfig": "SSH-конфигурация конечной точки", - "tunnelForwardDescription": "Этот туннель будет перенаправлять трафик с порта {{sourcePort}} на исходной машине (текущие детали подключения во вкладке общее) на порт {{endpointPort}} на машине конечной точки.", - "maxRetries": "Макс. попыток", - "maxRetriesDescription": "Максимальное количество попыток повторного подключения туннеля.", - "retryInterval": "Интервал повтора (секунды)", - "retryIntervalDescription": "Время ожидания между попытками повторного подключения.", - "autoStartContainer": "Автозапуск при запуске контейнера", - "autoStartDesc": "Автоматически запускать этот туннель при запуске контейнера", - "addConnection": "Добавить туннельное подключение", - "sshpassRequired": "Требуется Sshpass для аутентификации по паролю", - "sshpassRequiredDesc": "Для аутентификации по паролю в туннелях, sshpass должен быть установлен в системе.", - "otherInstallMethods": "Другие способы установки:", - "debianUbuntuEquivalent": "(Debian/Ubuntu) или эквивалент для вашей ОС.", - "or": "или", - "centosRhelFedora": "CentOS/RHEL/Fedora", - "macos": "macOS", - "windows": "Windows", - "sshServerConfigRequired": "Требуется конфигурация SSH-сервера", - "sshServerConfigDesc": "Для туннельных подключений SSH-сервер должен быть настроен для разрешения переадресации портов:", - "gatewayPortsYes": "для привязки удаленных портов ко всем интерфейсам", - "allowTcpForwardingYes": "для включения переадресации портов", - "permitRootLoginYes": "если используется пользователь root для туннелирования", - "editSshConfig": "Отредактируйте /etc/ssh/sshd_config и перезапустите SSH: sudo systemctl restart sshd", - "upload": "Загрузить", - "authentication": "Аутентификация", - "password": "Пароль", - "key": "Ключ", - "credential": "Учетные данные", - "none": "Нет", - "selectCredential": "Выбрать учетные данные", - "selectCredentialPlaceholder": "Выберите учетные данные...", - "credentialRequired": "Учетные данные требуются при использовании аутентификации по учетным данным", - "credentialDescription": "Выбор учетных данных перезапишет текущее имя пользователя и будет использовать детали аутентификации учетных данных.", - "sshPrivateKey": "Приватный SSH-ключ", - "keyPassword": "Пароль ключа", - "keyType": "Тип ключа", - "autoDetect": "Автоопределение", - "rsa": "RSA", - "ed25519": "ED25519", - "ecdsaNistP256": "ECDSA NIST P-256", - "ecdsaNistP384": "ECDSA NIST P-384", - "ecdsaNistP521": "ECDSA NIST P-521", - "dsa": "DSA", - "rsaSha2256": "RSA SHA2-256", - "rsaSha2512": "RSA SHA2-512", - "uploadFile": "Загрузить файл", - "pasteKey": "Вставить ключ", - "updateKey": "Обновить ключ", - "existingKey": "Существующий ключ (нажмите для изменения)", - "existingCredential": "Существующие учетные данные (нажмите для изменения)", - "addTagsSpaceToAdd": "добавить теги (пробел для добавления)", - "terminalBadge": "Терминал", - "tunnelBadge": "Туннель", - "fileManagerBadge": "Файловый менеджер", - "general": "Общее", - "terminal": "Терминал", - "tunnel": "Туннель", - "fileManager": "Файловый менеджер", - "serverStats": "Статистика сервера", - "hostViewer": "Просмотрщик хостов", - "enableServerStats": "Включить статистику сервера", - "enableServerStatsDesc": "Включить/отключить сбор статистики сервера для этого хоста", - "displayItems": "Элементы отображения", - "displayItemsDesc": "Выберите, какие метрики отображать на странице статистики сервера", - "enableCpu": "Использование CPU", - "enableMemory": "Использование памяти", - "enableDisk": "Использование диска", - "enableNetwork": "Сетевая статистика (Скоро)", - "enableProcesses": "Количество процессов (Скоро)", - "enableUptime": "Время работы (Скоро)", - "enableHostname": "Имя хоста (Скоро)", - "enableOs": "Операционная система (Скоро)", - "customCommands": "Пользовательские команды (Скоро)", - "customCommandsDesc": "Определите пользовательские команды выключения и перезагрузки для этого сервера", - "shutdownCommand": "Команда выключения", - "rebootCommand": "Команда перезагрузки", - "confirmRemoveFromFolder": "Вы уверены, что хотите удалить \"{{name}}\" из папки \"{{folder}}\"? Хост будет перемещен в \"Без папки\".", - "removedFromFolder": "Хост \"{{name}}\" успешно удален из папки", - "failedToRemoveFromFolder": "Не удалось удалить хост из папки", - "folderRenamed": "Папка \"{{oldName}}\" успешно переименована в \"{{newName}}\"", - "failedToRenameFolder": "Не удалось переименовать папку", - "movedToFolder": "Хост \"{{name}}\" успешно перемещен в \"{{folder}}\"", - "failedToMoveToFolder": "Не удалось переместить хост в папку", - "statistics": "Статистика", - "enabledWidgets": "Включенные виджеты", - "enabledWidgetsDesc": "Выберите, какие виджеты статистики отображать для этого хоста", - "monitoringConfiguration": "Конфигурация мониторинга", - "monitoringConfigurationDesc": "Настройте, как часто проверяются статистика и статус сервера", - "statusCheckEnabled": "Включить мониторинг статуса", - "statusCheckEnabledDesc": "Проверять, находится ли сервер в сети или вне сети", - "statusCheckInterval": "Интервал проверки статуса", - "statusCheckIntervalDesc": "Как часто проверять, находится ли хост в сети (5с - 1ч)", - "metricsEnabled": "Включить мониторинг метрик", - "metricsEnabledDesc": "Собирать статистику CPU, RAM, диска и другую системную статистику", - "metricsInterval": "Интервал сбора метрик", - "metricsIntervalDesc": "Как часто собирать статистику сервера (5с - 1ч)", - "intervalSeconds": "секунд", - "intervalMinutes": "минут", - "intervalValidation": "Интервалы мониторинга должны быть между 5 секундами и 1 часом (3600 секунд)", - "monitoringDisabled": "Мониторинг сервера отключен для этого хоста", - "enableMonitoring": "Включите мониторинг в Менеджере хостов → вкладка Статистика", - "monitoringDisabledBadge": "Мониторинг выключен", - "statusMonitoring": "Статус", - "metricsMonitoring": "Метрики", - "terminalCustomizationNotice": "Примечание: Настройки терминала работают только на рабочем столе (веб-сайт и Electron-приложение). Мобильные приложения и мобильный веб-сайт используют системные настройки терминала по умолчанию.", - "terminalCustomization": "Настройка терминала", - "appearance": "Внешний вид", - "behavior": "Поведение", - "advanced": "Расширенные", - "themePreview": "Предпросмотр темы", - "theme": "Тема", - "selectTheme": "Выбрать тему", - "chooseColorTheme": "Выберите цветовую тему для терминала", - "fontFamily": "Семейство шрифтов", - "selectFont": "Выбрать шрифт", - "selectFontDesc": "Выберите шрифт для использования в терминале", - "fontSize": "Размер шрифта", - "fontSizeValue": "Размер шрифта: {{value}}px", - "adjustFontSize": "Настроить размер шрифта терминала", - "letterSpacing": "Межбуквенный интервал", - "letterSpacingValue": "Межбуквенный интервал: {{value}}px", - "adjustLetterSpacing": "Настроить расстояние между символами", - "lineHeight": "Высота строки", - "lineHeightValue": "Высота строки: {{value}}", - "adjustLineHeight": "Настроить расстояние между строками", - "cursorStyle": "Стиль курсора", - "selectCursorStyle": "Выбрать стиль курсора", - "cursorStyleBlock": "Блок", - "cursorStyleUnderline": "Подчеркивание", - "cursorStyleBar": "Полоса", - "chooseCursorAppearance": "Выбрать внешний вид курсора", - "cursorBlink": "Мигание курсора", - "enableCursorBlink": "Включить анимацию мигания курсора", - "scrollbackBuffer": "Буфер прокрутки", - "scrollbackBufferValue": "Буфер прокрутки: {{value}} строк", - "scrollbackBufferDesc": "Количество строк для хранения в истории прокрутки", - "bellStyle": "Стиль звонка", - "selectBellStyle": "Выбрать стиль звонка", - "bellStyleNone": "Нет", - "bellStyleSound": "Звук", - "bellStyleVisual": "Визуальный", - "bellStyleBoth": "Оба", - "bellStyleDesc": "Как обрабатывать звонок терминала (символ BEL, \\x07). Программы вызывают его при завершении задач, возникновении ошибок или для уведомлений. \"Звук\" воспроизводит звуковой сигнал, \"Визуальный\" кратковременно мигает экран, \"Оба\" делает и то, и другое, \"Нет\" отключает звуковые оповещения.", - "rightClickSelectsWord": "Правый клик выбирает слово", - "rightClickSelectsWordDesc": "Правый клик выбирает слово под курсором", - "fastScrollModifier": "Модификатор быстрой прокрутки", - "selectModifier": "Выбрать модификатор", - "modifierAlt": "Alt", - "modifierCtrl": "Ctrl", - "modifierShift": "Shift", - "fastScrollModifierDesc": "Клавиша-модификатор для быстрой прокрутки", - "fastScrollSensitivity": "Чувствительность быстрой прокрутки", - "fastScrollSensitivityValue": "Чувствительность быстрой прокрутки: {{value}}", - "fastScrollSensitivityDesc": "Множитель скорости прокрутки при удержании модификатора", - "minimumContrastRatio": "Минимальная контрастность", - "minimumContrastRatioValue": "Минимальная контрастность: {{value}}", - "minimumContrastRatioDesc": "Автоматически настраивать цвета для лучшей читаемости", - "sshAgentForwarding": "Переадресация SSH-агента", - "sshAgentForwardingDesc": "Переадресовать агент SSH-аутентификации на удаленный хост", - "backspaceMode": "Режим Назадspace", - "selectBackspaceMode": "Выбрать режим Назадspace", - "backspaceModeNormal": "Обычный (DEL)", - "backspaceModeControlH": "Control-H (^H)", - "backspaceModeDesc": "Поведение клавиши Назадspace для совместимости", - "startupSnippet": "Сниппет запуска", - "selectSnippet": "Выбрать сниппет", - "searchSnippets": "Поиск сниппетов...", - "snippetNone": "Нет", - "noneAuthTitle": "Интерактивная аутентификация по клавиатуре", - "noneAuthDescription": "Этот метод аутентификации будет использовать интерактивную аутентификацию по клавиатуре при подключении к SSH-серверу.", - "noneAuthDetails": "Интерактивная аутентификация по клавиатуре позволяет серверу запрашивать у вас учетные данные во время подключения. Это полезно для серверов, которые требуют многофакторную аутентификацию или динамический ввод пароля.", - "forceKeyboardInteractive": "Принудительная клавиатурная аутентификация", - "forceKeyboardInteractiveDesc": "Принудительно использует интерактивную аутентификацию по клавиатуре. Часто требуется для серверов с двухфакторной аутентификацией (TOTP/2FA).", - "overrideCredentialUsername": "Переопределить имя пользователя учетных данных", - "overrideCredentialUsernameDesc": "Используйте другое имя пользователя, отличное от того, что хранится в учетных данных. Это позволяет использовать одни и те же учетные данные с разными именами пользователей.", - "jumpHosts": "Промежуточные хосты", - "jumpHostsDescription": "Промежуточные хосты (также известные как бастионы) позволяют подключаться к целевому серверу через один или несколько промежуточных серверов. Это полезно для доступа к серверам за брандмауэрами или в частных сетях.", - "jumpHostChain": "Цепочка промежуточных хостов", - "addJumpHost": "Добавить промежуточный хост", - "selectServer": "Выбрать сервер", - "searchServers": "Поиск серверов...", - "noServerFound": "Сервер не найден", - "jumpHostsOrder": "Подключения будут выполнены в порядке: Промежуточный хост 1 → Промежуточный хост 2 → ... → Целевой сервер", - "socks5Proxy": "SOCKS5 Прокси", - "socks5Description": "Настройте SOCKS5 прокси для SSH подключения. Весь трафик будет направлен через указанный прокси-сервер.", - "enableSocks5": "Включить SOCKS5 Прокси", - "enableSocks5Description": "Использовать SOCKS5 прокси для этого SSH подключения", - "socks5Host": "Хост прокси", - "socks5Port": "Порт прокси", - "socks5Username": "Имя пользователя прокси", - "socks5Password": "Пароль прокси", - "socks5UsernameOptional": "Необязательно: оставьте пустым, если прокси не требует аутентификации", - "socks5PasswordOptional": "Необязательно: оставьте пустым, если прокси не требует аутентификации", - "socks5ProxyChain": "Цепочка Прокси", - "socks5ProxyChainDescription": "Настройте цепочку SOCKS прокси. Каждый прокси в цепочке будет подключаться через предыдущий.", - "socks5ProxyMode": "Режим Прокси", - "socks5UseSingleProxy": "Использовать Один Прокси", - "socks5UseProxyChain": "Использовать Цепочку Прокси", - "socks5UsePreset": "Использовать Сохраненный Пресет", - "socks5SelectPreset": "Выбрать Пресет", - "socks5ManagePresets": "Управление Пресетами", - "socks5ProxyNode": "Прокси {{number}}", - "socks5AddProxy": "Добавить Прокси в Цепочку", - "socks5RemoveProxy": "Удалить Прокси", - "socks5ProxyType": "Тип Прокси", - "socks5SaveAsPreset": "Сохранить как Пресет", - "socks5SavePresetTitle": "Сохранить Цепочку Прокси как Пресет", - "socks5SavePresetDescription": "Сохраните текущую конфигурацию цепочки прокси как переиспользуемый пресет", - "socks5PresetName": "Название Пресета", - "socks5PresetDescription": "Описание (необязательно)", - "socks5PresetCreated": "Пресет цепочки прокси создан", - "socks5PresetUpdated": "Пресет цепочки прокси обновлен", - "socks5PresetDeleted": "Пресет цепочки прокси удален", - "socks5PresetSaved": "Пресет \"{{name}}\" успешно сохранен", - "socks5PresetSaveError": "Не удалось сохранить пресет", - "socks5PresetNameRequired": "Необходимо указать название пресета", - "socks5EmptyChainError": "Невозможно сохранить пустую цепочку прокси", - "socks5ProxyChainEmpty": "Добавьте хотя бы один прокси в цепочку", - "socks5HostDescription": "Имя хоста или IP-адрес SOCKS прокси сервера", - "socks5PortDescription": "Номер порта SOCKS прокси сервера (по умолчанию: 1080)", - "addProxyNode": "Добавить узел прокси", - "noProxyNodes": "Узлы прокси не настроены. Нажмите 'Добавить узел прокси' чтобы добавить.", - "proxyNode": "Узел прокси", - "proxyType": "Тип прокси", - "advancedAuthSettings": "Расширенные настройки аутентификации", - "advancedAuthSettings": "Расширенные настройки аутентификации", - "addQuickAction": "Добавить Quick Action", - "allHostsInFolderDeleted": "{{count}} хостов успешно удалены из папки \"{{folder}}\"", - "confirmDeleteAllHostsInFolder": "Вы уверены, что хотите удалить все {{count}} хостов в папке \"{{folder}}\"? Это действие нельзя отменить.", - "deleteAllHostsInFolder": "Удалить все хосты в папке", - "editFolderAppearance": "Редактировать вид папки", - "editFolderAppearanceDesc": "Настроить цвет и иконку для папки", - "failedToDeleteHostsInFolder": "Не удалось удалить хосты в папке", - "failedToUpdateFolderAppearance": "Не удалось обновить вид папки", - "folderAppearanceUpdated": "Вид папки успешно обновлен", - "folderColor": "Цвет папки", - "folderIcon": "Иконка папки", - "noSnippetFound": "Сниппет не найден", - "preview": "Предпросмотр", - "quickActionName": "Название действия", - "quickActions": "Быстрые действия", - "quickActionsDescription": "Быстрые действия позволяют создавать пользовательские кнопки, выполняющие SSH-сниппеты на этом сервере. Эти кнопки появятся в верхней части страницы статистики сервера для быстрого доступа.", - "quickActionsList": "Список быстрых действий", - "quickActionsOrder": "Кнопки быстрых действий появятся в указанном выше порядке на странице статистики сервера" - }, - "terminal": { - "title": "Терминал", - "connect": "Подключиться к хосту", - "disconnect": "Отключиться", - "clear": "Очистить", - "copy": "Копировать", - "paste": "Вставить", - "find": "Найти", - "fullscreen": "Полный экран", - "splitHorizontal": "Разделить горизонтально", - "splitVertical": "Разделить вертикально", - "closePanel": "Закрыть панель", - "reconnect": "Переподключиться", - "sessionEnded": "Сеанс завершен", - "connectionLost": "Подключение потеряно", - "error": "ОШИБКА: {{message}}", - "disconnected": "Отключено", - "connectionClosed": "Подключение закрыто", - "connectionError": "Ошибка подключения: {{message}}", - "connected": "Подключено", - "sshConnected": "SSH-подключение установлено", - "authError": "Ошибка аутентификации: {{message}}", - "unknownError": "Произошла неизвестная ошибка", - "messageParseError": "Не удалось разобрать сообщение сервера", - "websocketError": "Ошибка подключения WebSocket", - "connecting": "Подключение...", - "reconnecting": "Переподключение... ({{attempt}}/{{max}})", - "reconnected": "Успешно переподключено", - "maxReconnectAttemptsReached": "Достигнуто максимальное количество попыток переподключения", - "connectionTimeout": "Таймаут подключения", - "terminalTitle": "Терминал - {{host}}", - "terminalWithPath": "Терминал - {{host}}:{{path}}", - "runTitle": "Выполнение {{command}} - {{host}}", - "totpRequired": "Требуется двухфакторная аутентификация", - "totpCodeLabel": "Код проверки", - "totpPlaceholder": "000000", - "totpVerify": "Проверить", - "sudoPasswordPopupTitle": "Вставить пароль?", - "sudoPasswordPopupHint": "Нажмите Enter для вставки, Esc для отмены", - "sudoPasswordPopupConfirm": "Вставить", - "sudoPasswordPopupDismiss": "Отмена" - }, - "fileManager": { - "title": "Файловый менеджер", - "file": "Файл", - "folder": "Папка", - "connectToSsh": "Подключитесь к SSH для использования файловых операций", - "uploadFile": "Загрузить файл", - "downloadFile": "Скачать", - "edit": "Редактировать", - "preview": "Просмотр", - "previous": "Предыдущий", - "next": "Следующий", - "pageXOfY": "Страница {{current}} из {{total}}", - "zoomOut": "Уменьшить", - "zoomIn": "Увеличить", - "newFile": "Новый файл", - "newFolder": "Новая папка", - "rename": "Переименовать", - "renameItem": "Переименовать элемент", - "deleteItem": "Удалить элемент", - "currentPath": "Текущий путь", - "uploadFileTitle": "Загрузить файл", - "maxFileSize": "Макс: 1GB (JSON) / 5GB (Binary) - Поддерживаются большие файлы", - "removeFile": "Удалить файл", - "clickToSelectFile": "Нажмите для выбора файла", - "chooseFile": "Выбрать файл", - "uploading": "Загрузка...", - "downloading": "Скачивание...", - "uploadingFile": "Загрузка {{name}}...", - "uploadingLargeFile": "Загрузка большого файла {{name}} ({{size}})...", - "downloadingFile": "Скачивание {{name}}...", - "creatingFile": "Создание {{name}}...", - "creatingFolder": "Создание {{name}}...", - "deletingItem": "Удаление {{type}} {{name}}...", - "renamingItem": "Переименование {{type}} {{oldName}} в {{newName}}...", - "createNewFile": "Создать новый файл", - "fileName": "Имя файла", - "creating": "Создание...", - "createFile": "Создать файл", - "createNewFolder": "Создать новую папку", - "folderName": "Имя папки", - "createFolder": "Создать папку", - "warningCannotUndo": "Предупреждение: Это действие нельзя отменить", - "itemPath": "Путь к элементу", - "thisIsDirectory": "Это каталог (будет удален рекурсивно)", - "deleting": "Удаление...", - "currentPathLabel": "Текущий путь", - "newName": "Новое имя", - "thisIsDirectoryRename": "Это каталог", - "renaming": "Переименование...", - "fileUploadedSuccessfully": "Файл \"{{name}}\" успешно загружен", - "failedToUploadFile": "Не удалось загрузить файл", - "fileDownloadedSuccessfully": "Файл \"{{name}}\" успешно скачан", - "failedToDownloadFile": "Не удалось скачать файл", - "noFileContent": "Содержимое файла не получено", - "filePath": "Путь к файлу", - "fileCreatedSuccessfully": "Файл \"{{name}}\" успешно создан", - "failedToCreateFile": "Не удалось создать файл", - "folderCreatedSuccessfully": "Папка \"{{name}}\" успешно создана", - "failedToCreateFolder": "Не удалось создать папку", - "failedToCreateItem": "Не удалось создать элемент", - "operationFailed": "Операция {{operation}} не удалась для {{name}}: {{error}}", - "failedToResolveSymlink": "Не удалось разрешить символическую ссылку", - "itemDeletedSuccessfully": "{{type}} успешно удален", - "itemsDeletedSuccessfully": "{{count}} элементов успешно удалено", - "failedToDeleteItems": "Не удалось удалить элементы", - "dragFilesToUpload": "Перетащите файлы сюда для загрузки", - "emptyFolder": "Эта папка пуста", - "itemCount": "{{count}} элементов", - "selectedCount": "{{count}} выбрано", - "searchFiles": "Поиск файлов...", - "upload": "Загрузить", - "selectHostToStart": "Выберите хост для начала управления файлами", - "failedToConnect": "Не удалось подключиться к SSH", - "failedToLoadDirectory": "Не удалось загрузить каталог", - "noSSHConnection": "Нет доступного SSH-подключения", - "enterFolderName": "Введите имя папки:", - "enterFileName": "Введите имя файла:", - "copy": "Копировать", - "cut": "Вырезать", - "paste": "Вставить", - "copyPath": "Копировать путь", - "copyPaths": "Копировать пути", - "delete": "Удалить", - "properties": "Свойства", - "refresh": "Обновить", - "downloadFiles": "Скачать {{count}} файлов в браузер", - "copyFiles": "Копировать {{count}} элементов", - "cutFiles": "Вырезать {{count}} элементов", - "deleteFiles": "Удалить {{count}} элементов", - "filesCopiedToClipboard": "{{count}} элементов скопировано в буфер обмена", - "filesCutToClipboard": "{{count}} элементов вырезано в буфер обмена", - "pathCopiedToClipboard": "Путь скопирован в буфер обмена", - "pathsCopiedToClipboard": "{{count}} путей скопировано в буфер обмена", - "failedToCopyPath": "Не удалось скопировать путь в буфер обмена", - "movedItems": "Перемещено {{count}} элементов", - "failedToDeleteItem": "Не удалось удалить элемент", - "itemRenamedSuccessfully": "{{type}} успешно переименован", - "failedToRenameItem": "Не удалось переименовать элемент", - "download": "Скачать", - "permissions": "Права доступа", - "size": "Размер", - "modified": "Изменен", - "path": "Путь", - "confirmDelete": "Вы уверены, что хотите удалить {{name}}?", - "uploadSuccess": "Файл успешно загружен", - "uploadFailed": "Не удалось загрузить файл", - "downloadSuccess": "Файл успешно скачан", - "downloadFailed": "Не удалось скачать файл", - "permissionDenied": "Доступ запрещен", - "checkDockerLogs": "Проверьте логи Docker для получения подробной информации об ошибке", - "internalServerError": "Произошла внутренняя ошибка сервера", - "serverError": "Ошибка сервера", - "error": "Ошибка", - "requestFailed": "Запрос завершился с кодом состояния", - "unknownFileError": "неизвестно", - "cannotReadFile": "Невозможно прочитать файл", - "noSshSessionId": "Нет доступного ID SSH-сессии", - "noFilePath": "Нет доступного пути к файлу", - "noCurrentHost": "Нет текущего хоста", - "fileSavedSuccessfully": "Файл успешно сохранен", - "saveTimeout": "Операция сохранения превысила время ожидания. Файл мог быть успешно сохранен, но операция заняла слишком много времени для завершения. Проверьте логи Docker для подтверждения.", - "failedToSaveFile": "Не удалось сохранить файл", - "deletedSuccessfully": "успешно удален", - "connectToServer": "Подключиться к серверу", - "selectServerToEdit": "Выберите сервер на боковой панели, чтобы начать редактирование файлов", - "fileOperations": "Файловые операции", - "confirmDeleteMessage": "Вы уверены, что хотите удалить {{name}}?", - "confirmDeleteSingleItem": "Вы уверены, что хотите окончательно удалить \"{{name}}\"?", - "confirmDeleteMultipleItems": "Вы уверены, что хотите окончательно удалить {{count}} элементов?", - "confirmDeleteMultipleItemsWithFolders": "Вы уверены, что хотите окончательно удалить {{count}} элементов? Это включает папки и их содержимое.", - "confirmDeleteFolder": "Вы уверены, что хотите окончательно удалить папку \"{{name}}\" и все ее содержимое?", - "deleteDirectoryWarning": "Это удалит папку и все ее содержимое.", - "actionCannotBeUndone": "Это действие нельзя отменить.", - "permanentDeleteWarning": "Это действие нельзя отменить. Элемент(ы) будут окончательно удалены с сервера.", - "recent": "Недавние", - "pinned": "Закрепленные", - "folderShortcuts": "Ярлыки папок", - "noRecentFiles": "Нет недавних файлов.", - "noPinnedFiles": "Нет закрепленных файлов.", - "enterFolderPath": "Введите путь к папке", - "noShortcuts": "Нет ярлыков.", - "searchFilesAndFolders": "Поиск файлов и папок...", - "noFilesOrFoldersFound": "Файлы или папки не найдены.", - "failedToConnectSSH": "Не удалось подключиться к SSH", - "failedToReconnectSSH": "Не удалось переподключить SSH-сессию", - "failedToListFiles": "Не удалось получить список файлов", - "fetchHomeDataTimeout": "Получение домашних данных превысило время ожидания", - "sshStatusCheckTimeout": "Проверка статуса SSH превысила время ожидания", - "sshReconnectionTimeout": "Переподключение SSH превысило время ожидания", - "saveOperationTimeout": "Операция сохранения превысила время ожидания", - "cannotSaveFile": "Невозможно сохранить файл", - "dragSystemFilesToUpload": "Перетащите системные файлы сюда для загрузки", - "dragFilesToWindowToDownload": "Перетащите файлы за пределы окна для скачивания", - "openTerminalHere": "Открыть терминал здесь", - "run": "Выполнить", - "saveToSystem": "Сохранить как...", - "selectLocationToSave": "Выберите место для сохранения", - "openTerminalInFolder": "Открыть терминал в этой папке", - "openTerminalInFileLocation": "Открыть терминал в расположении файла", - "terminalWithPath": "Терминал - {{host}}:{{path}}", - "runningFile": "Выполнение - {{file}}", - "onlyRunExecutableFiles": "Можно выполнять только исполняемые файлы", - "noHostSelected": "Хост не выбран", - "starred": "Избранное", - "shortcuts": "Ярлыки", - "directories": "Каталоги", - "removedFromRecentFiles": "Удалено \"{{name}}\" из недавних файлов", - "removeFailed": "Удаление не удалось", - "unpinnedSuccessfully": "Откреплено \"{{name}}\" успешно", - "unpinFailed": "Открепление не удалось", - "removedShortcut": "Удален ярлык \"{{name}}\"", - "removeShortcutFailed": "Не удалось удалить ярлык", - "clearedAllRecentFiles": "Все недавние файлы очищены", - "clearFailed": "Очистка не удалась", - "removeFromRecentFiles": "Удалить из недавних файлов", - "clearAllRecentFiles": "Очистить все недавние файлы", - "unpinFile": "Открепить файл", - "removeShortcut": "Удалить ярлык", - "saveFilesToSystem": "Сохранить {{count}} файлов как...", - "pinFile": "Закрепить файл", - "addToShortcuts": "Добавить в ярлыки", - "downloadToDefaultLocation": "Скачать в место по умолчанию", - "pasteFailed": "Вставка не удалась", - "noUndoableActions": "Нет действий для отмены", - "undoCopySuccess": "Операция копирования отменена: Удалено {{count}} скопированных файлов", - "undoCopyFailedDelete": "Отмена не удалась: Не удалось удалить скопированные файлы", - "undoCopyFailedNoInfo": "Отмена не удалась: Не удалось найти информацию о скопированных файлах", - "undoMoveSuccess": "Операция перемещения отменена: Перемещено {{count}} файлов обратно в исходное расположение", - "undoMoveFailedMove": "Отмена не удалась: Не удалось переместить файлы обратно", - "undoMoveFailedNoInfo": "Отмена не удалась: Не удалось найти информацию о перемещенных файлах", - "undoDeleteNotSupported": "Операцию удаления нельзя отменить: Файлы окончательно удалены с сервера", - "undoTypeNotSupported": "Неподдерживаемый тип операции отмены", - "undoOperationFailed": "Операция отмены не удалась", - "unknownError": "Неизвестная ошибка", - "enterPath": "Введите путь...", - "editPath": "Редактировать путь", - "confirm": "Подтвердить", - "cancel": "Отмена", - "find": "Найти...", - "replaceWith": "Заменить на...", - "replace": "Заменить", - "replaceAll": "Заменить все", - "downloadInstead": "Скачать вместо этого", - "keyboardShortcuts": "Горячие клавиши", - "searchAndReplace": "Поиск и замена", - "editing": "Редактирование", - "navigation": "Навигация", - "code": "Код", - "search": "Поиск", - "findNext": "Найти следующее", - "findPrevious": "Найти предыдущее", - "save": "Сохранить", - "selectAll": "Выделить все", - "undo": "Отменить", - "redo": "Повторить", - "goToLine": "Перейти к строке", - "moveLineUp": "Переместить строку вверх", - "moveLineDown": "Переместить строку вниз", - "toggleComment": "Закомментировать/раскомментировать", - "indent": "Увеличить отступ", - "outdent": "Уменьшить отступ", - "autoComplete": "Автозавершение", - "imageLoadError": "Не удалось загрузить изображение", - "rotate": "Повернуть", - "originalSize": "Оригинальный размер", - "startTyping": "Начните печатать...", - "unknownSize": "Неизвестный размер", - "fileIsEmpty": "Файл пуст", - "largeFileWarning": "Предупреждение о большом файле", - "largeFileWarningDesc": "Этот файл имеет размер {{size}}, что может вызвать проблемы с производительностью при открытии как текста.", - "fileNotFoundAndRemoved": "Файл \"{{name}}\" не найден и был удален из недавних/закрепленных файлов", - "failedToLoadFile": "Не удалось загрузить файл: {{error}}", - "serverErrorOccurred": "Произошла ошибка сервера. Пожалуйста, попробуйте позже.", - "autoSaveFailed": "Автосохранение не удалось", - "fileAutoSaved": "Файл автосохранен", - "moveFileFailed": "Не удалось переместить {{name}}", - "moveOperationFailed": "Операция перемещения не удалась", - "canOnlyCompareFiles": "Можно сравнивать только два файла", - "comparingFiles": "Сравнение файлов: {{file1}} и {{file2}}", - "dragFailed": "Операция перетаскивания не удалась", - "filePinnedSuccessfully": "Файл \"{{name}}\" успешно закреплен", - "pinFileFailed": "Не удалось закрепить файл", - "fileUnpinnedSuccessfully": "Файл \"{{name}}\" успешно откреплен", - "unpinFileFailed": "Не удалось открепить файл", - "shortcutAddedSuccessfully": "Ярлык папки \"{{name}}\" успешно добавлен", - "addShortcutFailed": "Не удалось добавить ярлык", - "operationCompletedSuccessfully": "{{operation}} {{count}} элементов успешно завершено", - "operationCompleted": "{{operation}} {{count}} элементов", - "downloadFileSuccess": "Файл {{name}} успешно скачан", - "downloadFileFailed": "Скачивание не удалось", - "moveTo": "Переместить в {{name}}", - "diffCompareWith": "Сравнить различия с {{name}}", - "dragOutsideToDownload": "Перетащите за пределы окна для скачивания ({{count}} файлов)", - "newFolderDefault": "НоваяПапка", - "newFileDefault": "НовыйФайл.txt", - "successfullyMovedItems": "Успешно перемещено {{count}} элементов в {{target}}", - "move": "Переместить", - "searchInFile": "Поиск в файле (Ctrl+F)", - "showKeyboardShortcuts": "Показать горячие клавиши", - "startWritingMarkdown": "Начните писать ваш markdown-контент...", - "loadingFileComparison": "Загрузка сравнения файлов...", - "reload": "Перезагрузить", - "compare": "Сравнить", - "sideBySide": "Рядом", - "inline": "Встроенное", - "fileComparison": "Сравнение файлов: {{file1}} vs {{file2}}", - "fileTooLarge": "Файл слишком большой: {{error}}", - "sshConnectionFailed": "SSH-подключение не удалось. Пожалуйста, проверьте ваше подключение к {{name}} ({{ip}}:{{port}})", - "loadFileFailed": "Не удалось загрузить файл: {{error}}", - "connectedSuccessfully": "Успешно подключено", - "totpVerificationFailed": "Проверка TOTP не удалась", - "andMoreFiles": "and {{count}} more...", - "archiveExtractedSuccessfully": "{{name}} успешно извлечен", - "archiveName": "Имя архива", - "changePermissions": "Изменить права", - "changePermissionsDesc": "Изменить права файла для", - "compress": "Сжать", - "compressFailed": "Сжатие не удалось", - "compressFile": "Сжать файл", - "compressFiles": "Сжать файлы", - "compressFilesDesc": "Сжать {{count}} элементов в архив", - "compressingFiles": "Сжатие {{count}} элементов в {{name}}...", - "compressionFormat": "Формат сжатия", - "currentPermissions": "Текущие права", - "enterArchiveName": "Введите имя архива...", - "execute": "Выполнить", - "extractArchive": "Извлечь архив", - "extractFailed": "Извлечение не удалось", - "extractingArchive": "Извлечение {{name}}...", - "failedToChangePermissions": "Не удалось изменить права", - "filesCompressedSuccessfully": "{{name}} успешно создан", - "group": "Группа", - "newPermissions": "Новые права", - "others": "Другие", - "owner": "Владелец", - "permissionsChangedSuccessfully": "Права успешно изменены", - "read": "Чтение", - "selectedFiles": "Выбранные файлы", - "write": "Запись" - }, - "tunnels": { - "title": "SSH-туннели", - "noSshTunnels": "Нет SSH-туннелей", - "createFirstTunnelMessage": "Создайте ваш первый SSH-туннель, чтобы начать. Используйте SSH-менеджер для добавления хостов с туннельными подключениями.", - "connected": "Подключено", - "disconnected": "Отключено", - "connecting": "Подключение...", - "disconnecting": "Отключение...", - "unknownTunnelStatus": "Неизвестно", - "unknown": "Неизвестно", - "error": "Ошибка", - "failed": "Не удалось", - "retrying": "Повторная попытка", - "waiting": "Ожидание", - "waitingForRetry": "Ожидание повторной попытки", - "retryingConnection": "Повторное подключение", - "canceling": "Отмена...", - "connect": "Подключить", - "disconnect": "Отключить", - "cancel": "Отмена", - "port": "Порт", - "attempt": "Попытка {{current}} из {{max}}", - "nextRetryIn": "Следующая попытка через {{seconds}} секунд", - "checkDockerLogs": "Проверьте ваши логи Docker для выяснения причины ошибки, присоединяйтесь к", - "noTunnelConnections": "Нет настроенных туннельных подключений", - "tunnelConnections": "Туннельные подключения", - "addTunnel": "Добавить туннель", - "editTunnel": "Редактировать туннель", - "deleteTunnel": "Удалить туннель", - "tunnelName": "Имя туннеля", - "localPort": "Локальный порт", - "remoteHost": "Удаленный хост", - "remotePort": "Удаленный порт", - "autoStart": "Автозапуск", - "status": "Статус", - "active": "Активно", - "inactive": "Неактивно", - "start": "Запустить", - "stop": "Остановить", - "restart": "Перезапустить", - "connectionType": "Тип подключения", - "local": "Локальный", - "remote": "Удаленный", - "dynamic": "Динамический", - "unknownConnectionStatus": "Неизвестно", - "portMapping": "Порт {{sourcePort}} → {{endpointHost}}:{{endpointPort}}", - "endpointHostNotFound": "Хост конечной точки не найден", - "discord": "Discord", - "githubIssue": "Проблема на GitHub", - "forHelp": "для помощи" - }, - "serverStats": { - "title": "Статистика сервера", - "cpu": "CPU", - "memory": "Память", - "disk": "Диск", - "network": "Сеть", - "uptime": "Время работы", - "loadAverage": "Средняя: {{avg1}}, {{avg5}}, {{avg15}}", - "processes": "Процессы", - "connections": "Подключения", - "usage": "Использование", - "available": "Доступно", - "total": "Всего", - "free": "Свободно", - "used": "Использовано", - "percentage": "Процент", - "refreshStatusAndMetrics": "Обновить статус и метрики", - "refreshStatus": "Обновить статус", - "fileManagerAlreadyOpen": "Файловый менеджер уже открыт для этого хоста", - "openFileManager": "Открыть файловый менеджер", - "cpuCores_one": "{{count}} CPU", - "cpuCores_other": "{{count}} CPU", - "naCpus": "N/A CPU", - "loadAverageNA": "Средняя: N/A", - "cpuUsage": "Использование CPU", - "memoryUsage": "Использование памяти", - "diskUsage": "Использование диска", - "rootStorageSpace": "Место в корневом хранилище", - "of": "из", - "feedbackMessage": "Есть идеи, что должно быть следующим для управления сервером? Поделитесь ими на", - "failedToFetchHostConfig": "Не удалось загрузить конфигурацию хоста", - "failedToFetchStatus": "Не удалось загрузить статус сервера", - "failedToFetchMetrics": "Не удалось загрузить метрики сервера", - "failedToFetchHomeData": "Не удалось загрузить домашние данные", - "loadingMetrics": "Загрузка метрик...", - "refreshing": "Обновление...", - "serverOffline": "Сервер не в сети", - "cannotFetchMetrics": "Невозможно получить метрики с отключенного сервера", - "totpRequired": "Требуется TOTP-аутентификация", - "totpUnavailable": "Статистика сервера недоступна для серверов с включенным TOTP", - "load": "Загрузка", - "editLayout": "Редактировать макет", - "cancelEdit": "Отмена", - "addWidget": "Добавить виджет", - "saveLayout": "Сохранить макет", - "unsavedChanges": "Несохраненные изменения", - "layoutSaved": "Макет успешно сохранен", - "failedToSaveLayout": "Не удалось сохранить макет", - "systemInfo": "Системная информация", - "hostname": "Имя хоста", - "operatingSystem": "Операционная система", - "kernel": "Ядро", - "totalUptime": "Общее время работы", - "seconds": "секунд", - "networkInterfaces": "Сетевые интерфейсы", - "noInterfacesFound": "Сетевые интерфейсы не найдены", - "totalProcesses": "Всего процессов", - "running": "Запущено", - "noProcessesFound": "Процессы не найдены", - "loginStats": "Статистика входов SSH", - "totalLogins": "Всего входов", - "uniqueIPs": "Уникальные IP", - "recentSuccessfulLogins": "Последние успешные входы", - "recentFailedAttempts": "Последние неудачные попытки", - "noRecentLoginData": "Нет данных о недавних входах", - "from": "с", - "executeQuickAction": "Выполнить {{name}}", - "executingQuickAction": "Выполнение {{name}}...", - "quickActionError": "Не удалось выполнить {{name}}", - "quickActionFailed": "{{name}} завершилось ошибкой", - "quickActionSuccess": "{{name}} завершено успешно", - "quickActions": "Быстрые действия" - }, - "auth": { - "tagline": "SSH ТЕРМИНАЛ МЕНЕДЖЕР", - "description": "Безопасное, мощное и интуитивное управление SSH-соединениями", - "welcomeBack": "Добро пожаловать обратно в TERMIX", - "createAccount": "Создайте вашу учетную запись TERMIX", - "continueExternal": "Продолжить с внешним провайдером", - "loginTitle": "Вход в Termix", - "registerTitle": "Создать учетную запись", - "loginButton": "Войти", - "registerButton": "Зарегистрироваться", - "forgotPassword": "Забыли пароль?", - "rememberMe": "Запомнить меня", - "noAccount": "Нет учетной записи?", - "hasAccount": "Уже есть учетная запись?", - "loginSuccess": "Вход выполнен успешно", - "loginFailed": "Ошибка входа", - "registerSuccess": "Регистрация успешна", - "registerFailed": "Ошибка регистрации", - "logoutSuccess": "Выход выполнен успешно", - "invalidCredentials": "Неверное имя пользователя или пароль", - "accountCreated": "Учетная запись успешно создана", - "passwordReset": "Ссылка для сброса пароля отправлена", - "twoFactorAuth": "Двухфакторная аутентификация", - "enterCode": "Введите код проверки", - "backupCode": "Или используйте резервный код", - "verifyCode": "Проверить код", - "enableTwoFactor": "Включить двухфакторную аутентификацию", - "disableTwoFactor": "Отключить двухфакторную аутентификацию", - "scanQRCode": "Отсканируйте этот QR-код вашим приложением-аутентификатором", - "backupCodes": "Резервные коды", - "saveBackupCodes": "Сохраните эти резервные коды в безопасном месте", - "twoFactorEnabledSuccess": "Двухфакторная аутентификация успешно включена!", - "twoFactorDisabled": "Двухфакторная аутентификация отключена", - "newBackupCodesGenerated": "Сгенерированы новые резервные коды", - "backupCodesDownloaded": "Резервные коды скачаны", - "pleaseEnterSixDigitCode": "Пожалуйста, введите 6-значный код", - "invalidVerificationCode": "Неверный код проверки", - "failedToDisableTotp": "Не удалось отключить TOTP", - "failedToGenerateBackupCodes": "Не удалось сгенерировать резервные коды", - "enterPassword": "Введите ваш пароль", - "lockedOidcAuth": "Заблокировано (OIDC Auth)", - "twoFactorTitle": "Двухфакторная аутентификация", - "twoFactorProtected": "Ваша учетная запись защищена двухфакторной аутентификацией", - "twoFactorActive": "Двухфакторная аутентификация в настоящее время активна на вашей учетной записи", - "disable2FA": "Отключить 2FA", - "disableTwoFactorWarning": "Отключение двухфакторной аутентификации сделает вашу учетную запись менее защищенной", - "passwordOrTotpCode": "Пароль или TOTP-код", - "or": "Или", - "generateNewBackupCodesText": "Сгенерируйте новые резервные коды, если вы потеряли существующие", - "generateNewBackupCodes": "Сгенерировать новые резервные коды", - "yourBackupCodes": "Ваши резервные коды", - "download": "Скачать", - "setupTwoFactorTitle": "Настройка двухфакторной аутентификации", - "step1ScanQR": "Шаг 1: Отсканируйте QR-код вашим приложением-аутентификатором", - "manualEntryCode": "Код для ручного ввода", - "cannotScanQRText": "Если вы не можете отсканировать QR-код, введите этот код вручную в вашем приложении-аутентификаторе", - "nextVerifyCode": "Далее: Проверить код", - "verifyAuthenticator": "Проверьте ваш аутентификатор", - "step2EnterCode": "Шаг 2: Введите 6-значный код из вашего приложения-аутентификатора", - "verificationCode": "Код проверки", - "back": "Назад", - "verifyAndEnable": "Проверить и включить", - "saveBackupCodesTitle": "Сохраните ваши резервные коды", - "step3StoreCodesSecurely": "Шаг 3: Сохраните эти коды в безопасном месте", - "importantBackupCodesText": "Сохраните эти резервные коды в безопасном месте. Вы можете использовать их для доступа к вашей учетной записи, если потеряете ваше устройство аутентификации.", - "completeSetup": "Завершить настройку", - "notEnabledText": "Двухфакторная аутентификация добавляет дополнительный уровень безопасности, требуя код из вашего приложения-аутентификатора при входе.", - "enableTwoFactorButton": "Включить двухфакторную аутентификацию", - "addExtraSecurityLayer": "Добавьте дополнительный уровень безопасности к вашей учетной записи", - "firstUser": "Первый пользователь", - "firstUserMessage": "Вы первый пользователь и будете сделаны администратором. Вы можете просмотреть настройки администратора в выпадающем меню пользователя на боковой панели. Если вы считаете, что это ошибка, проверьте логи docker или создайте проблему на GitHub.", - "external": "Внешний", - "loginWithExternal": "Войти через внешнего провайдера", - "loginWithExternalDesc": "Войти с использованием настроенного внешнего провайдера идентификации", - "externalNotSupportedInElectron": "Внешняя аутентификация пока не поддерживается в Electron-приложении. Пожалуйста, используйте веб-версию для входа через OIDC.", - "resetPasswordButton": "Сбросить пароль", - "sendResetCode": "Отправить код сброса", - "resetCodeDesc": "Введите ваше имя пользователя для получения кода сброса пароля. Код будет записан в логи docker-контейнера.", - "resetCode": "Код сброса", - "verifyCodeButton": "Проверить код", - "enterResetCode": "Введите 6-значный код из логов docker-контейнера для пользователя:", - "goToLogin": "Перейти ко входу", - "newPassword": "Новый пароль", - "confirmNewPassword": "Подтвердите пароль", - "enterNewPassword": "Введите ваш новый пароль для пользователя:", - "signUp": "Зарегистрироваться", - "dataLossWarning": "Сброс пароля этим способом удалит все ваши сохраненные SSH-хосты, учетные данные и другие зашифрованные данные. Это действие нельзя отменить. Используйте это только если вы забыли пароль и не вошли в систему.", - "authenticationDisabled": "Аутентификация отключена", - "authenticationDisabledDesc": "Все методы аутентификации в настоящее время отключены. Пожалуйста, свяжитесь с вашим администратором.", - "authenticating": "Аутентификация...", - "desktopApp": "Настольное приложение", - "loadingServer": "Загрузка сервера...", - "loggingInToDesktopApp": "Вход в настольное приложение", - "loggingInToDesktopAppViaWeb": "Вход в настольное приложение через веб-интерфейс", - "loggingInToMobileApp": "Вход в мобильное приложение", - "mobileApp": "Мобильное приложение", - "redirectingToApp": "Перенаправление в приложение...", - "sshAuthFailedDescription": "Предоставленные учетные данные неверны. Пожалуйста, попробуйте снова с правильными учетными данными.", - "sshAuthenticationFailed": "Аутентификация не удалась", - "sshAuthenticationRequired": "Требуется SSH-аутентификация", - "sshAuthenticationTimeout": "Тайм-аут аутентификации", - "sshKeyPasswordDescription": "Если ваш SSH-ключ зашифрован, введите парольную фразу здесь.", - "sshNoKeyboardInteractive": "Клавиатурная интерактивная аутентификация недоступна", - "sshNoKeyboardInteractiveDescription": "Сервер не поддерживает клавиатурную интерактивную аутентификацию. Пожалуйста, укажите ваш пароль или SSH-ключ.", - "sshPasswordDescription": "Введите пароль для этого SSH-подключения.", - "sshProvideCredentialsDescription": "Пожалуйста, предоставьте ваши SSH-учетные данные для подключения к этому серверу.", - "sshTimeoutDescription": "Попытка аутентификации истекла по времени. Пожалуйста, попробуйте снова.", - "passwordResetSuccess": "Сброс пароля прошел успешно", - "passwordResetSuccessDesc": "Ваш пароль был успешно сброшен. Теперь вы можете войти с новым паролем." - }, - "errors": { - "notFound": "Страница не найдена", - "unauthorized": "Неавторизованный доступ", - "forbidden": "Доступ запрещен", - "serverError": "Ошибка сервера", - "networkError": "Сетевая ошибка", - "databaseConnection": "Не удалось подключиться к базе данных.", - "unknownError": "Неизвестная ошибка", - "loginFailed": "Ошибка входа", - "failedPasswordReset": "Не удалось инициировать сброс пароля", - "failedVerifyCode": "Не удалось проверить код сброса", - "failedCompleteReset": "Не удалось завершить сброс пароля", - "invalidTotpCode": "Неверный TOTP-код", - "failedOidcLogin": "Не удалось начать вход через OIDC", - "failedUserInfo": "Не удалось получить информацию о пользователе после входа через OIDC", - "oidcAuthFailed": "OIDC-аутентификация не удалась", - "noTokenReceived": "Токен не получен при входе", - "invalidAuthUrl": "Получен неверный URL авторизации от бэкенда", - "invalidInput": "Неверный ввод", - "requiredField": "Это поле обязательно", - "minLength": "Минимальная длина {{min}}", - "maxLength": "Максимальная длина {{max}}", - "invalidEmail": "Неверный адрес email", - "passwordMismatch": "Пароли не совпадают", - "passwordLoginDisabled": "Вход по имени пользователя/паролю в настоящее время отключен", - "weakPassword": "Пароль слишком слабый", - "usernameExists": "Имя пользователя уже существует", - "emailExists": "Email уже существует", - "loadFailed": "Не удалось загрузить данные", - "saveError": "Не удалось сохранить", - "sessionExpired": "Сеанс истек - пожалуйста, войдите снова" - }, - "messages": { - "saveSuccess": "Успешно сохранено", - "saveError": "Не удалось сохранить", - "deleteSuccess": "Успешно удалено", - "deleteError": "Не удалось удалить", - "updateSuccess": "Успешно обновлено", - "updateError": "Не удалось обновить", - "copySuccess": "Скопировано в буфер обмена", - "copyError": "Не удалось скопировать", - "copiedToClipboard": "{{item}} скопировано в буфер обмена", - "connectionEstablished": "Подключение установлено", - "connectionClosed": "Подключение закрыто", - "reconnecting": "Переподключение...", - "processing": "Обработка...", - "pleaseWait": "Пожалуйста, подождите...", - "registrationDisabled": "Регистрация новых учетных записей в настоящее время отключена администратором. Пожалуйста, войдите или свяжитесь с администратором.", - "databaseConnected": "Подключение к базе данных успешно установлено", - "databaseConnectionFailed": "Не удалось подключиться к серверу базы данных", - "checkServerConnection": "Пожалуйста, проверьте ваше подключение к серверу и попробуйте снова", - "resetCodeSent": "Код сброса отправлен в логи Docker", - "codeVerified": "Код успешно проверен", - "passwordResetSuccess": "Пароль успешно сброшен", - "loginSuccess": "Вход выполнен успешно", - "registrationSuccess": "Регистрация успешна" - }, - "profile": { - "title": "Профиль пользователя", - "description": "Управление настройками учетной записи и безопасностью", - "security": "Безопасность", - "changePassword": "Изменить пароль", - "twoFactorAuth": "Двухфакторная аутентификация", - "accountInfo": "Информация об учетной записи", - "role": "Роль", - "admin": "Администратор", - "user": "Пользователь", - "authMethod": "Метод аутентификации", - "local": "Локальный", - "external": "Внешний (OIDC)", - "selectPreferredLanguage": "Выберите предпочитаемый язык интерфейса", - "fileColorCoding": "Цветовое кодирование файлов", - "fileColorCodingDesc": "Цветовая кодировка файлов по типу: папки (красный), файлы (синий), символические ссылки (зелёный)", - "commandAutocomplete": "Автодополнение команд", - "commandAutocompleteDesc": "Включить автодополнение команд терминала клавишей Tab на основе вашей истории команд", - "defaultSnippetFoldersCollapsed": "Сворачивать папки сниппетов по умолчанию", - "defaultSnippetFoldersCollapsedDesc": "Если включено, все папки сниппетов будут свёрнуты при открытии вкладки сниппетов", - "currentPassword": "Текущий пароль", - "passwordChangedSuccess": "Пароль успешно изменен! Пожалуйста, войдите снова.", - "failedToChangePassword": "Не удалось изменить пароль. Пожалуйста, проверьте ваш текущий пароль и попробуйте снова.", - "externalAndLocal": "Двойная аутентификация" - }, - "user": { - "failedToLoadVersionInfo": "Не удалось загрузить информацию о версии" - }, - "placeholders": { - "enterCode": "000000", - "ipAddress": "127.0.0.1", - "port": "22", - "maxRetries": "3", - "retryInterval": "10", - "language": "Язык", - "username": "имя пользователя", - "hostname": "имя хоста", - "folder": "папка", - "password": "пароль", - "keyPassword": "пароль ключа", - "notes": "Добавьте заметки об этом хосте...", - "expirationDate": "Выберите дату истечения", - "pastePrivateKey": "Вставьте ваш приватный ключ здесь...", - "pastePublicKey": "Вставьте ваш публичный ключ здесь...", - "credentialName": "Мой SSH-сервер", - "description": "Описание SSH-учетных данных", - "searchCredentials": "Поиск учетных данных по имени, имени пользователя или тегам...", - "sshConfig": "конфигурация ssh конечной точки", - "homePath": "/home", - "clientId": "your-client-id", - "clientSecret": "your-client-secret", - "authUrl": "https://your-provider.com/application/o/authorize/", - "redirectUrl": "https://your-provider.com/application/o/termix/", - "tokenUrl": "https://your-provider.com/application/o/token/", - "userIdField": "sub", - "usernameField": "name", - "scopes": "openid email profile", - "userinfoUrl": "https://your-provider.com/application/o/userinfo/", - "enterUsername": "Введите имя пользователя, чтобы сделать администратором", - "searchHosts": "Поиск хостов по имени, имени пользователя, IP, папке, тегам...", - "enterPassword": "Введите ваш пароль", - "totpCode": "6-значный TOTP-код", - "searchHostsAny": "Поиск хостов по любой информации...", - "confirmPassword": "Введите ваш пароль для подтверждения", - "typeHere": "Введите здесь", - "fileName": "Введите имя файла (например, example.txt)", - "folderName": "Введите имя папки", - "fullPath": "Введите полный путь к элементу", - "currentPath": "Введите текущий путь к элементу", - "newName": "Введите новое имя", - "socks5Host": "127.0.0.1", - "socks5Username": "имя пользователя прокси", - "socks5Password": "пароль прокси", - "socks5PresetName": "например, Рабочая VPN Цепочка", - "socks5PresetDescription": "например, Цепочка прокси для доступа к рабочим серверам" - }, - "leftSidebar": { - "failedToLoadHosts": "Не удалось загрузить хосты", - "noFolder": "Без папки", - "passwordRequired": "Требуется пароль", - "failedToDeleteAccount": "Не удалось удалить учетную запись", - "failedToMakeUserAdmin": "Не удалось сделать пользователя администратором", - "userIsNowAdmin": "Пользователь {{username}} теперь администратор", - "removeAdminConfirm": "Вы уверены, что хотите убрать статус администратора у {{username}}?", - "deleteUserConfirm": "Вы уверены, что хотите удалить пользователя {{username}}? Это действие нельзя отменить.", - "deleteAccount": "Удалить учетную запись", - "closeDeleteAccount": "Закрыть удаление учетной записи", - "deleteAccountWarning": "Это действие нельзя отменить. Это окончательно удалит вашу учетную запись и все связанные данные.", - "deleteAccountWarningDetails": "Удаление вашей учетной записи удалит все ваши данные, включая SSH-хосты, конфигурации и настройки. Это действие необратимо.", - "cannotDeleteAccount": "Невозможно удалить учетную запись", - "lastAdminWarning": "Вы последний пользователь-администратор. Вы не можете удалить свою учетную запись, так как это оставит систему без администраторов. Пожалуйста, сначала сделайте другого пользователя администратором или свяжитесь с поддержкой системы.", - "confirmPassword": "Подтвердите пароль", - "deleting": "Удаление...", - "cancel": "Отмена", - "deleteAccountWarningShort": "Это действие необратимо и приведет к окончательному удалению вашей учетной записи." - }, - "interface": { - "sidebar": "Боковая панель", - "toggleSidebar": "Переключить боковую панель", - "close": "Закрыть", - "online": "В сети", - "offline": "Не в сети", - "maintenance": "Обслуживание", - "degraded": "Снижена производительность", - "noTunnelConnections": "Нет настроенных туннельных подключений", - "discord": "Discord", - "connectToSshForOperations": "Подключитесь к SSH для использования файловых операций", - "uploadFile": "Загрузить файл", - "newFile": "Новый файл", - "newFolder": "Новая папка", - "rename": "Переименовать", - "deleteItem": "Удалить элемент", - "createNewFile": "Создать новый файл", - "createNewFolder": "Создать новую папку", - "renameItem": "Переименовать элемент", - "clickToSelectFile": "Нажмите для выбора файла", - "noSshHosts": "Нет SSH-хостов", - "sshHosts": "SSH-хосты", - "importSshHosts": "Импорт SSH-хостов из JSON", - "clientId": "Client ID", - "clientSecret": "Client Secret", - "error": "Ошибка", - "warning": "Предупреждение", - "deleteAccount": "Удалить учетную запись", - "closeDeleteAccount": "Закрыть удаление учетной записи", - "cannotDeleteAccount": "Невозможно удалить учетную запись", - "confirmPassword": "Подтвердите пароль", - "deleting": "Удаление...", - "externalAuth": "Внешняя аутентификация (OIDC)", - "configureExternalProvider": "Настройте внешнего провайдера идентификации для", - "waitingForRetry": "Ожидание повторной попытки", - "retryingConnection": "Повторное подключение", - "resetSplitSizes": "Сбросить размеры разделения", - "sshManagerAlreadyOpen": "SSH-менеджер уже открыт", - "disabledDuringSplitScreen": "Отключено во время разделенного экрана", - "unknown": "Неизвестно", - "connected": "Подключено", - "disconnected": "Отключено", - "maxRetriesExhausted": "Исчерпаны максимальные попытки", - "endpointHostNotFound": "Хост конечной точки не найден", - "administrator": "Администратор", - "user": "Пользователь", - "external": "Внешний", - "local": "Локальный", - "saving": "Сохранение...", - "saveConfiguration": "Сохранить конфигурацию", - "loading": "Загрузка...", - "refresh": "Обновить", - "adding": "Добавление...", - "makeAdmin": "Сделать администратором", - "verifying": "Проверка...", - "verifyAndEnable": "Проверить и включить", - "secretKey": "Секретный ключ", - "totpQrCode": "TOTP QR-код", - "passwordRequired": "Пароль требуется при использовании аутентификации по паролю", - "sshKeyRequired": "Приватный SSH-ключ требуется при использовании аутентификации по ключу", - "keyTypeRequired": "Тип ключа требуется при использовании аутентификации по ключу", - "validSshConfigRequired": "Необходимо выбрать допустимую SSH-конфигурацию из списка", - "updateHost": "Обновить хост", - "addHost": "Добавить хост", - "editHost": "Редактировать хост", - "pinConnection": "Закрепить подключение", - "authentication": "Аутентификация", - "password": "Пароль", - "key": "Ключ", - "sshPrivateKey": "Приватный SSH-ключ", - "keyPassword": "Пароль ключа", - "keyType": "Тип ключа", - "enableTerminal": "Включить терминал", - "enableTunnel": "Включить туннель", - "enableFileManager": "Включить файловый менеджер", - "defaultPath": "Путь по умолчанию", - "tunnelConnections": "Туннельные подключения", - "maxRetries": "Макс. попыток", - "upload": "Загрузить", - "updateKey": "Обновить ключ", - "productionFolder": "Продакшен", - "databaseServer": "Сервер базы данных", - "developmentServer": "Сервер разработки", - "developmentFolder": "Разработка", - "webServerProduction": "Веб-сервер - Продакшен", - "unknownError": "Неизвестная ошибка", - "failedToInitiatePasswordReset": "Не удалось инициировать сброс пароля", - "failedToVerifyResetCode": "Не удалось проверить код сброса", - "failedToCompletePasswordReset": "Не удалось завершить сброс пароля", - "invalidTotpCode": "Неверный TOTP-код", - "failedToStartOidcLogin": "Не удалось начать вход через OIDC", - "failedToGetUserInfoAfterOidc": "Не удалось получить информацию о пользователе после OIDC-входа", - "loginWithExternalProvider": "Войти через внешнего провайдера", - "loginWithExternal": "Войти через внешнего провайдера", - "sendResetCode": "Отправить код сброса", - "verifyCode": "Проверить код", - "resetPassword": "Сбросить пароль", - "login": "Войти", - "signUp": "Зарегистрироваться", - "failedToUpdateOidcConfig": "Не удалось обновить конфигурацию OIDC", - "failedToMakeUserAdmin": "Не удалось сделать пользователя администратором", - "failedToStartTotpSetup": "Не удалось начать настройку TOTP", - "invalidVerificationCode": "Неверный код проверки", - "failedToDisableTotp": "Не удалось отключить TOTP", - "failedToGenerateBackupCodes": "Не удалось сгенерировать резервные коды" - }, - "mobile": { - "selectHostToStart": "Выберите хост для начала сеанса терминала", - "limitedSupportMessage": "Поддержка мобильного веб-сайта все еще в разработке. Используйте мобильное приложение для лучшего опыта.", - "mobileAppInProgress": "Мобильное приложение в разработке", - "mobileAppInProgressDesc": "Мы работаем над специальным мобильным приложением, чтобы обеспечить лучший опыт на мобильных устройствах.", - "viewMobileAppDocs": "Установить мобильное приложение", - "mobileAppDocumentation": "Документация мобильного приложения" - }, - "dashboard": { - "title": "Панель управления", - "github": "GitHub", - "support": "Поддержка", - "discord": "Discord", - "donate": "Пожертвовать", - "serverOverview": "Обзор сервера", - "version": "Версия", - "upToDate": "Обновлено", - "updateAvailable": "Доступно обновление", - "uptime": "Время работы", - "database": "База данных", - "healthy": "Работает", - "error": "Ошибка", - "totalServers": "Всего серверов", - "totalTunnels": "Всего туннелей", - "totalCredentials": "Всего учетных данных", - "recentActivity": "Недавняя активность", - "reset": "Сбросить", - "loadingRecentActivity": "Загрузка недавней активности...", - "noRecentActivity": "Нет недавней активности", - "quickActions": "Быстрые действия", - "addHost": "Добавить хост", - "addCredential": "Добавить учетные данные", - "adminSettings": "Настройки администратора", - "userProfile": "Профиль пользователя", - "serverStats": "Статистика сервера", - "loadingServerStats": "Загрузка статистики сервера...", - "noServerData": "Данные сервера недоступны", - "cpu": "CPU", - "ram": "RAM", - "notAvailable": "N/A" - }, - "commandPalette": { - "searchPlaceholder": "Поиск хостов или быстрых действий...", - "recentActivity": "Недавняя активность", - "navigation": "Навигация", - "addHost": "Добавить хост", - "addCredential": "Добавить учетные данные", - "adminSettings": "Настройки администратора", - "userProfile": "Профиль пользователя", - "updateLog": "Журнал обновлений", - "hosts": "Хосты", - "openServerDetails": "Открыть детали сервера", - "openFileManager": "Открыть файловый менеджер", - "edit": "Редактировать", - "links": "Ссылки", - "github": "GitHub", - "support": "Поддержка", - "discord": "Discord", - "donate": "Пожертвовать", - "press": "Нажмите", - "toToggle": "для переключения", - "close": "Закрыть", - "hostManager": "Менеджер хостов" } -} +} \ No newline at end of file diff --git a/src/locales/zh/translation.json b/src/locales/zh/translation.json index 7544dd64..8df76327 100644 --- a/src/locales/zh/translation.json +++ b/src/locales/zh/translation.json @@ -54,7 +54,7 @@ "sshPrivateKey": "SSH私钥", "upload": "上传", "updateKey": "更新密钥", - "keyPassword": "密钥密码(可选)", + "keyPassword": "密钥密码", "keyType": "密钥类型", "keyTypeRSA": "RSA", "keyTypeECDSA": "ECDSA", @@ -108,6 +108,7 @@ "orCreateNewFolder": "或创建新文件夹", "addTag": "添加标签", "saving": "保存中...", + "credentialId": "凭据 ID", "overview": "概览", "security": "安全", "usage": "使用情况", @@ -164,7 +165,6 @@ "generateKeyPairNote": "直接生成新的SSH密钥对。这将替换表单中的现有密钥。", "invalidKey": "无效密钥", "detectionError": "检测错误", - "credentialId": "凭据 ID", "unknown": "未知" }, "dragIndicator": { @@ -188,7 +188,10 @@ "commandsWillBeSent": "命令将发送到 {{count}} 个选中的终端。", "settings": "设置", "enableRightClickCopyPaste": "启用右键复制/粘贴", - "shareIdeas": "对 SSH 工具有什么想法?在此分享" + "shareIdeas": "对 SSH 工具有什么想法?在此分享", + "scripts": { + "inputPlaceholder": "例如:系统命令、Docker 脚本" + } }, "snippets": { "title": "代码片段", @@ -261,10 +264,10 @@ "saving": "保存中...", "saveConfig": "保存配置", "helpText": "输入您的 Termix 服务器运行地址(例如:http://localhost:30001 或 https://your-server.com)", - "changeServer": "更换服务器", - "mustIncludeProtocol": "服务器URL必须以 http:// 或 https:// 开头", + "warning": "警告", "notValidatedWarning": "URL 未经验证 - 请确保其正确", - "warning": "警告" + "changeServer": "更换服务器", + "mustIncludeProtocol": "服务器URL必须以 http:// 或 https:// 开头" }, "versionCheck": { "error": "版本检查错误", @@ -300,6 +303,9 @@ "loading": "加载中...", "required": "必填", "optional": "可选", + "connect": "连接", + "connecting": "连接中...", + "creating": "创建中...", "clear": "清除", "toggleSidebar": "切换侧边栏", "sidebar": "侧边栏", @@ -341,12 +347,14 @@ "logout": "登出", "register": "注册", "password": "密码", + "version": "版本", "confirmPassword": "确认密码", "back": "返回", "email": "邮箱", "submit": "提交", "change": "更改", "save": "保存", + "saving": "保存中...", "delete": "删除", "edit": "编辑", "add": "添加", @@ -362,8 +370,6 @@ "settingUp": "设置中...", "next": "下一步", "previous": "上一步", - "connect": "连接", - "connecting": "连接中...", "refresh": "刷新", "settings": "设置", "profile": "个人资料", @@ -389,9 +395,7 @@ "actions": "操作", "remove": "移除", "revoke": "撤销", - "create": "创建", - "saving": "保存中...", - "version": "Version" + "create": "创建" }, "nav": { "home": "首页", @@ -412,1549 +416,5 @@ "hostManager": "主机管理器", "cannotSplitTab": "无法分割此标签页", "tabNavigation": "标签导航" - }, - "admin": { - "title": "管理员设置", - "oidc": "OIDC", - "users": "用户", - "userManagement": "用户管理", - "makeAdmin": "设为管理员", - "removeAdmin": "移除管理员", - "deleteUser": "删除用户 {{username}} 吗?此操作无法撤销。", - "allowRegistration": "允许注册", - "oidcSettings": "OIDC 设置", - "clientId": "客户端 ID", - "clientSecret": "客户端密钥", - "issuerUrl": "颁发者 URL", - "authorizationUrl": "授权 URL", - "tokenUrl": "令牌 URL", - "updateSettings": "更新设置", - "confirmDelete": "确定要删除此用户吗?", - "confirmMakeAdmin": "确定要将此用户设为管理员吗?", - "confirmRemoveAdmin": "确定要移除此用户的管理员权限吗?", - "externalAuthentication": "外部认证 (OIDC)", - "configureExternalProvider": "配置 OIDC/OAuth2 认证的外部身份提供者。", - "userIdentifierPath": "用户标识符路径", - "displayNamePath": "显示名称路径", - "scopes": "作用域", - "saving": "保存中...", - "saveConfiguration": "保存配置", - "reset": "重置", - "success": "成功", - "loading": "加载中...", - "refresh": "刷新", - "loadingUsers": "加载用户中...", - "username": "用户名", - "type": "类型", - "actions": "操作", - "external": "外部", - "local": "本地", - "adminManagement": "管理员管理", - "makeUserAdmin": "设置用户为管理员", - "adding": "添加中...", - "currentAdmins": "当前管理员", - "adminBadge": "管理员", - "removeAdminButton": "移除管理员", - "general": "常规", - "userRegistration": "用户注册", - "allowNewAccountRegistration": "允许新账户注册", - "allowPasswordLogin": "允许用户名/密码登录", - "missingRequiredFields": "缺少必填字段:{{fields}}", - "oidcConfigurationUpdated": "OIDC 配置更新成功!", - "failedToFetchOidcConfig": "获取 OIDC 配置失败", - "failedToFetchRegistrationStatus": "获取注册状态失败", - "failedToFetchPasswordLoginStatus": "获取密码登录状态失败", - "failedToFetchUsers": "获取用户列表失败", - "oidcConfigurationDisabled": "OIDC 配置禁用成功!", - "failedToUpdateOidcConfig": "更新 OIDC 配置失败", - "failedToDisableOidcConfig": "禁用 OIDC 配置失败", - "enterUsernameToMakeAdmin": "输入用户名以设为管理员", - "userIsNowAdmin": "用户 {{username}} 现在是管理员", - "failedToMakeUserAdmin": "设为管理员失败", - "removeAdminStatus": "移除 {{username}} 的管理员权限吗?", - "adminStatusRemoved": "已移除 {{username}} 的管理员权限", - "failedToRemoveAdminStatus": "移除管理员权限失败", - "userDeletedSuccessfully": "用户 {{username}} 删除成功", - "failedToDeleteUser": "删除用户失败", - "overrideUserInfoUrl": "覆盖用户信息 URL(非必填)", - "databaseSecurity": "数据库安全", - "encryptionStatus": "加密状态", - "encryptionEnabled": "加密已启用", - "enabled": "已启用", - "disabled": "已禁用", - "keyId": "密钥 ID", - "created": "创建时间", - "migrationStatus": "迁移状态", - "migrationCompleted": "迁移完成", - "migrationRequired": "需要迁移", - "deviceProtectedMasterKey": "环境保护主密钥", - "legacyKeyStorage": "传统密钥存储", - "masterKeyEncryptedWithDeviceFingerprint": "主密钥已通过环境指纹加密(KEK 保护已激活)", - "keyNotProtectedByDeviceBinding": "密钥未受环境绑定保护(建议升级)", - "valid": "有效", - "initializeDatabaseEncryption": "初始化数据库加密", - "enableAes256EncryptionWithDeviceBinding": "启用具有环境绑定主密钥保护的 AES-256 加密。这为 SSH 密钥、密码和身份验证令牌创建企业级安全保护。", - "featuresEnabled": "启用的功能:", - "aes256GcmAuthenticatedEncryption": "AES-256-GCM 认证加密", - "deviceFingerprintMasterKeyProtection": "环境指纹主密钥保护 (KEK)", - "pbkdf2KeyDerivation": "PBKDF2 密钥推导(10万次迭代)", - "automaticKeyManagement": "自动密钥管理和轮换", - "initializing": "初始化中...", - "initializeEnterpriseEncryption": "初始化企业级加密", - "migrateExistingData": "迁移现有数据", - "encryptExistingUnprotectedData": "加密数据库中现有的未保护数据。此过程安全可靠,会自动创建备份。", - "testMigrationDryRun": "验证加密兼容性", - "migrating": "迁移中...", - "migrateData": "迁移数据", - "securityInformation": "安全信息", - "sshPrivateKeysEncryptedWithAes256": "SSH 私钥和密码使用 AES-256-GCM 加密", - "userAuthTokensProtected": "用户认证令牌和 2FA 密钥受到保护", - "masterKeysProtectedByDeviceFingerprint": "主加密密钥受设备指纹保护 (KEK)", - "keysBoundToServerInstance": "密钥绑定到当前服务器环境(可通过环境变量迁移)", - "pbkdf2HkdfKeyDerivation": "PBKDF2 + HKDF 密钥推导(10万次迭代)", - "backwardCompatibleMigration": "迁移过程中所有数据保持向后兼容", - "enterpriseGradeSecurityActive": "企业级安全已激活", - "masterKeysProtectedByDeviceBinding": "您的主加密密钥受环境指纹保护。这基于服务器的主机名、路径等环境信息生成保护密钥。如需迁移服务器,可通过设置 DB_ENCRYPTION_KEY 环境变量来实现数据迁移。", - "important": "重要提示", - "keepEncryptionKeysSecure": "确保数据安全:定期备份数据库文件和服务器配置。如需迁移到新服务器,请在新环境中设置 DB_ENCRYPTION_KEY 环境变量,或保持相同的主机名和目录结构。", - "loadingEncryptionStatus": "正在加载加密状态...", - "testMigrationDescription": "验证现有数据是否可以安全地迁移到加密格式,不会实际修改任何数据", - "serverMigrationGuide": "服务器迁移指南", - "migrationInstructions": "要将加密数据迁移到新服务器:1) 备份数据库文件,2) 在新服务器设置环境变量 DB_ENCRYPTION_KEY=\"你的key\",3) 恢复数据库文件", - "environmentProtection": "环境保护", - "environmentProtectionDesc": "基于服务器环境信息(主机名、路径等)保护加密密钥,可通过环境变量实现迁移", - "verificationCompleted": "兼容性验证完成 - 未修改任何数据", - "verificationInProgress": "验证完成", - "dataMigrationCompleted": "数据迁移完成!", - "verificationFailed": "兼容性验证失败", - "migrationFailed": "迁移失败", - "runningVerification": "正在进行兼容性验证...", - "startingMigration": "开始迁移...", - "hardwareFingerprintSecurity": "硬件指纹安全", - "hardwareBoundEncryption": "硬件绑定加密已激活", - "masterKeysNowProtectedByHardwareFingerprint": "主密钥现在受真实硬件指纹保护,而非环境变量", - "cpuSerialNumberDetection": "CPU 序列号检测", - "motherboardUuidIdentification": "主板 UUID 识别", - "diskSerialNumberVerification": "磁盘序列号验证", - "biosSerialNumberCheck": "BIOS 序列号检查", - "stableMacAddressFiltering": "稳定 MAC 地址过滤", - "databaseFileEncryption": "数据库文件加密", - "dualLayerProtection": "双层保护已激活", - "bothFieldAndFileEncryptionActive": "字段级和文件级加密现均已激活,提供最大安全保护", - "fieldLevelAes256Encryption": "敏感数据的字段级 AES-256 加密", - "fileLevelDatabaseEncryption": "硬件绑定的文件级数据库加密", - "hardwareBoundFileKeys": "硬件绑定的文件加密密钥", - "automaticEncryptedBackups": "自动加密备份创建", - "createEncryptedBackup": "创建加密备份", - "creatingBackup": "创建备份中...", - "backupCreated": "备份已创建", - "encryptedBackupCreatedSuccessfully": "加密备份创建成功", - "backupCreationFailed": "备份创建失败", - "databaseMigration": "数据库迁移", - "exportForMigration": "导出用于迁移", - "exportDatabaseForHardwareMigration": "导出 SQLite 格式的解密数据库以迁移到新硬件", - "exportDatabase": "导出 SQLite 数据库", - "exporting": "导出中...", - "exportCreated": "SQLite 导出已创建", - "exportContainsDecryptedData": "SQLite 导出包含解密数据 - 请保持安全!", - "databaseExportedSuccessfully": "SQLite 数据库导出成功", - "databaseExportFailed": "SQLite 数据库导出失败", - "importFromMigration": "从迁移导入", - "importDatabaseFromAnotherSystem": "从其他系统或硬件导入 SQLite 数据库", - "importDatabase": "导入 SQLite 数据库", - "importing": "导入中...", - "selectedFile": "选定 SQLite 文件", - "importWillReplaceExistingData": "SQLite 导入将替换现有数据 - 建议备份!", - "pleaseSelectImportFile": "请选择 SQLite 导入文件", - "databaseImportedSuccessfully": "SQLite 数据库导入成功", - "databaseImportFailed": "SQLite 数据库导入失败", - "manageEncryptionAndBackups": "管理加密密钥、数据库安全和备份操作", - "activeSecurityFeatures": "当前活跃的安全措施和保护功能", - "deviceBindingTechnology": "高级硬件密钥保护技术", - "backupAndRecovery": "安全备份创建和数据库恢复选项", - "crossSystemDataTransfer": "跨系统数据库导出和导入", - "noMigrationNeeded": "无需迁移", - "encryptionKey": "加密密钥", - "keyProtection": "密钥保护", - "active": "已激活", - "legacy": "旧版", - "dataStatus": "数据状态", - "encrypted": "已加密", - "needsMigration": "需要迁移", - "ready": "就绪", - "initializeEncryption": "初始化加密", - "initialize": "初始化", - "test": "测试", - "migrate": "迁移", - "backup": "备份", - "createBackup": "创建备份", - "exportImport": "导出/导入", - "export": "导出", - "import": "导入", - "passwordRequired": "密码为必填项", - "confirmExport": "确认导出", - "exportDescription": "将SSH主机和凭据导出为SQLite文件", - "importDescription": "导入SQLite文件并进行增量合并(跳过重复项)", - "criticalWarning": "严重警告", - "cannotDisablePasswordLoginWithoutOIDC": "无法在未配置 OIDC 的情况下禁用密码登录!您必须先配置 OIDC 认证,然后再禁用密码登录,否则您将失去对 Termix 的访问权限。", - "confirmDisablePasswordLogin": "您确定要禁用密码登录吗?在继续之前,请确保 OIDC 已正确配置并且正常工作,否则您将失去对 Termix 实例的访问权限。", - "passwordLoginDisabled": "密码登录已成功禁用", - "passwordLoginAndRegistrationDisabled": "密码登录和新账户注册已成功禁用", - "requiresPasswordLogin": "需要启用密码登录", - "passwordLoginDisabledWarning": "密码登录已禁用。请确保 OIDC 已正确配置,否则您将无法登录 Termix。", - "oidcRequiredWarning": "严重警告:密码登录已禁用。如果您重置或错误配置 OIDC,您将失去对 Termix 的所有访问权限并使您的实例无法使用。只有在您完全确定的情况下才能继续。", - "confirmDisableOIDCWarning": "警告:您即将在密码登录也已禁用的情况下禁用 OIDC。这将使您的 Termix 实例无法使用,您将失去所有访问权限。您确定要继续吗?", - "failedToUpdatePasswordLoginStatus": "更新密码登录状态失败", - "accountsLinkedSuccessfully": "OIDC 用户 {{oidcUsername}} 已关联到 {{targetUsername}}", - "confirmRevokeAllSessions": "您确定要撤销此用户的所有会话吗?", - "confirmRevokeSession": "您确定要撤销此会话吗?", - "failedToFetchSessions": "获取会话失败", - "failedToLinkAccounts": "关联账户失败", - "failedToRevokeSession": "撤销会话失败", - "failedToRevokeSessions": "撤销会话失败", - "failedToUnlinkOIDC": "取消 OIDC 关联失败", - "linkAccountsButton": "关联账户", - "linkOIDCActionAddCapability": "将 OIDC 登录功能添加到目标密码账户", - "linkOIDCActionDeleteUser": "删除 OIDC 用户账户及其所有数据", - "linkOIDCActionDualAuth": "允许密码账户同时使用密码和 OIDC 登录", - "linkOIDCDialogDescription": "将 {{username}} (OIDC 用户) 关联到现有的密码账户。这将为密码账户启用双重认证。", - "linkOIDCDialogTitle": "将 OIDC 账户关联到密码账户", - "linkOIDCWarningTitle": "警告: OIDC 用户数据将被删除", - "linkTargetUsernameLabel": "目标密码账户用户名", - "linkTargetUsernamePlaceholder": "输入密码账户的用户名", - "linkTargetUsernameRequired": "目标用户名是必需的", - "linkToPasswordAccount": "关联到密码账户", - "linkingAccounts": "关联中...", - "sessionRevokedSuccessfully": "会话撤销成功", - "sessionsRevokedSuccessfully": "会话撤销成功", - "unlinkOIDCDescription": "移除 {{username}} 的 OIDC 认证?此操作后用户只能使用用户名/密码登录。", - "unlinkOIDCSuccess": "已取消 {{username}} 的 OIDC 关联", - "unlinkOIDCTitle": "取消 OIDC 认证关联" - }, - "hosts": { - "title": "主机管理", - "sshHosts": "SSH 主机", - "noHosts": "没有 SSH 主机", - "noHostsMessage": "您还没有添加任何 SSH 主机。点击\"添加主机\"开始使用。", - "loadingHosts": "加载主机中...", - "failedToLoadHosts": "加载主机失败", - "retry": "重试", - "refresh": "刷新", - "hostsCount": "{{count}} 个主机", - "importJson": "导入 JSON", - "importing": "导入中...", - "importJsonTitle": "从 JSON 导入 SSH 主机", - "importJsonDesc": "上传 JSON 文件以批量导入多个 SSH 主机(最多 100 个)。", - "downloadSample": "下载示例", - "formatGuide": "格式指南", - "exportCredentialWarning": "警告:主机 \"{{name}}\" 使用凭据认证。导出的文件将不包含凭据数据,导入后需要手动重新配置。您确定要继续吗?", - "exportSensitiveDataWarning": "警告:主机 \"{{name}}\" 包含敏感认证数据(密码/SSH密钥)。导出的文件将以明文形式包含这些数据。请妥善保管文件,使用后建议删除。您确定要继续吗?", - "uncategorized": "未分类", - "confirmDelete": "确定要删除 \"{{name}}\" 吗?", - "failedToDeleteHost": "删除主机失败", - "failedToExportHost": "导出主机失败。请确保您已登录并有权访问主机数据。", - "jsonMustContainHosts": "JSON 必须包含 \"hosts\" 数组或是一个主机数组", - "noHostsInJson": "JSON 文件中未找到主机", - "maxHostsAllowed": "每次导入最多允许 100 个主机", - "importCompleted": "导入完成:{{success}} 个成功,{{failed}} 个失败", - "importFailed": "导入失败", - "importError": "导入错误", - "failedToImportJson": "导入 JSON 文件失败", - "connectionDetails": "连接详情", - "organization": "组织管理", - "ipAddress": "IP 地址", - "port": "端口", - "name": "名称", - "username": "用户名", - "folder": "文件夹", - "tags": "标签", - "passwordRequired": "使用密码认证时需要密码", - "sshKeyRequired": "使用密钥认证时需要 SSH 私钥", - "keyTypeRequired": "使用密钥认证时需要密钥类型", - "mustSelectValidSshConfig": "必须从列表中选择有效的 SSH 配置", - "addHost": "添加主机", - "editHost": "编辑主机", - "cloneHost": "克隆主机", - "keyPassword": "密钥密码", - "keyType": "密钥类型", - "pin": "固定", - "enableTerminal": "启用终端", - "enableTunnel": "启用隧道", - "enableFileManager": "启用文件管理器", - "defaultPath": "默认路径", - "sourcePort": "源端口", - "sourcePortDesc": "(源指通用标签页中的当前连接详情)", - "endpointPort": "目标端口", - "endpointSshConfig": "目标 SSH 配置", - "retryInterval": "重试间隔(秒)", - "connection": "连接", - "remove": "移除", - "addConnection": "添加连接", - "sshpassRequired": "密码认证需要安装 Sshpass", - "hostViewer": "主机查看器", - "maxRetries": "最大重试次数", - "tunnelConnections": "隧道连接", - "enableTerminalDesc": "启用/禁用在终端选项卡中显示此主机", - "enableTunnelDesc": "启用/禁用在隧道选项卡中显示此主机", - "enableFileManagerDesc": "启用/禁用在文件管理器选项卡中显示此主机", - "autoStartDesc": "容器启动时自动启动此隧道", - "defaultPathDesc": "打开此主机文件管理器时的默认目录", - "tunnelForwardDescription": "此隧道将从源计算机(常规选项卡中的当前连接详情)的端口 {{sourcePort}} 转发流量到端点计算机的端口 {{endpointPort}}。", - "autoStartContainer": "容器启动时自动启动", - "upload": "上传", - "authentication": "认证方式", - "password": "密码", - "key": "密钥", - "credential": "凭证", - "none": "无", - "selectCredential": "选择凭证", - "selectCredentialPlaceholder": "选择一个凭证...", - "credentialRequired": "使用凭证认证时需要选择凭证", - "credentialDescription": "选择凭证将覆盖当前用户名并使用凭证的认证详细信息。", - "sshPrivateKey": "SSH 私钥", - "maxRetriesDescription": "隧道连接的最大重试次数。", - "retryIntervalDescription": "重试尝试之间的等待时间。", - "otherInstallMethods": "其他安装方法:", - "debianUbuntuEquivalent": "(Debian/Ubuntu) 或您的操作系统的等效命令。", - "or": "或", - "centosRhelFedora": "CentOS/RHEL/Fedora", - "macos": "macOS", - "windows": "Windows", - "sshpassOSInstructions": {}, - "sshServerConfigRequired": "SSH 服务器配置要求", - "sshServerConfigDesc": "对于隧道连接,SSH 服务器必须配置允许端口转发:", - "gatewayPortsYes": "绑定远程端口到所有接口", - "allowTcpForwardingYes": "启用端口转发", - "permitRootLoginYes": "如果使用 root 用户进行隧道连接", - "editSshConfig": "编辑 /etc/ssh/sshd_config 并重启 SSH: sudo systemctl restart sshd", - "updateHost": "更新主机", - "hostUpdatedSuccessfully": "主机 \"{{name}}\" 更新成功!", - "hostAddedSuccessfully": "主机 \"{{name}}\" 添加成功!", - "hostDeletedSuccessfully": "主机 \"{{name}}\" 删除成功!", - "failedToSaveHost": "保存主机失败,请重试。", - "autoDetect": "自动检测", - "rsa": "RSA", - "ed25519": "ED25519", - "ecdsaNistP256": "ECDSA NIST P-256", - "ecdsaNistP384": "ECDSA NIST P-384", - "ecdsaNistP521": "ECDSA NIST P-521", - "dsa": "DSA", - "rsaSha2256": "RSA SHA2-256", - "rsaSha2512": "RSA SHA2-512", - "uploadFile": "上传文件", - "pasteKey": "粘贴密钥", - "updateKey": "更新密钥", - "existingKey": "现有密钥(点击更改)", - "existingCredential": "现有凭据(点击更改)", - "addTagsSpaceToAdd": "添加标签(空格添加)", - "terminalBadge": "终端", - "tunnelBadge": "隧道", - "fileManagerBadge": "文件管理器", - "general": "常规", - "terminal": "终端", - "tunnel": "隧道", - "fileManager": "文件管理器", - "serverStats": "服务器统计", - "enableServerStats": "启用服务器统计", - "enableServerStatsDesc": "启用/禁用此主机的服务器统计信息收集", - "displayItems": "显示项目", - "displayItemsDesc": "选择在服务器统计页面上显示哪些指标", - "enableCpu": "CPU使用率", - "enableMemory": "内存使用率", - "enableDisk": "磁盘使用率", - "enableNetwork": "网络统计(即将推出)", - "enableProcesses": "进程数(即将推出)", - "enableUptime": "运行时间(即将推出)", - "enableHostname": "主机名(即将推出)", - "enableOs": "操作系统(即将推出)", - "customCommands": "自定义命令(即将推出)", - "customCommandsDesc": "为此服务器定义自定义关机和重启命令", - "shutdownCommand": "关机命令", - "rebootCommand": "重启命令", - "confirmRemoveFromFolder": "确定要将\"{{name}}\"从文件夹\"{{folder}}\"中移除吗?主机将被移动到\"无文件夹\"。", - "removedFromFolder": "主机\"{{name}}\"已成功从文件夹中移除", - "failedToRemoveFromFolder": "从文件夹中移除主机失败", - "folderRenamed": "文件夹\"{{oldName}}\"已成功重命名为\"{{newName}}\"", - "failedToRenameFolder": "重命名文件夹失败", - "editFolderAppearance": "编辑文件夹外观", - "editFolderAppearanceDesc": "自定义文件夹的颜色和图标", - "folderColor": "文件夹颜色", - "folderIcon": "文件夹图标", - "preview": "预览", - "folderAppearanceUpdated": "文件夹外观更新成功", - "failedToUpdateFolderAppearance": "更新文件夹外观失败", - "deleteAllHostsInFolder": "删除文件夹内所有主机", - "confirmDeleteAllHostsInFolder": "确定要删除文件夹\"{{folder}}\"中的全部 {{count}} 个主机吗?此操作无法撤销。", - "allHostsInFolderDeleted": "已成功从文件夹\"{{folder}}\"删除 {{count}} 个主机", - "failedToDeleteHostsInFolder": "删除文件夹中的主机失败", - "movedToFolder": "主机\"{{name}}\"已成功移动到\"{{folder}}\"", - "failedToMoveToFolder": "移动主机到文件夹失败", - "statistics": "统计", - "enabledWidgets": "已启用组件", - "enabledWidgetsDesc": "选择要为此主机显示的统计组件", - "monitoringConfiguration": "监控配置", - "monitoringConfigurationDesc": "配置服务器统计信息和状态的检查频率", - "statusCheckEnabled": "启用状态监控", - "statusCheckEnabledDesc": "检查服务器是在线还是离线", - "statusCheckInterval": "状态检查间隔", - "statusCheckIntervalDesc": "检查主机是否在线的频率 (5秒 - 1小时)", - "metricsEnabled": "启用指标监控", - "metricsEnabledDesc": "收集CPU、内存、磁盘和其他系统统计信息", - "metricsInterval": "指标收集间隔", - "metricsIntervalDesc": "收集服务器统计信息的频率 (5秒 - 1小时)", - "intervalSeconds": "秒", - "intervalMinutes": "分钟", - "intervalValidation": "监控间隔必须在 5 秒到 1 小时(3600 秒)之间", - "monitoringDisabled": "此主机的服务器监控已禁用", - "enableMonitoring": "在主机管理器 → 统计选项卡中启用监控", - "monitoringDisabledBadge": "监控已关闭", - "statusMonitoring": "状态", - "metricsMonitoring": "指标", - "terminalCustomizationNotice": "注意:终端自定义仅在桌面网站版本中有效。移动和 Electron 应用程序使用系统默认终端设置。", - "terminalCustomization": "终端自定义", - "appearance": "外观", - "behavior": "行为", - "advanced": "高级", - "themePreview": "主题预览", - "theme": "主题", - "selectTheme": "选择主题", - "chooseColorTheme": "选择终端的颜色主题", - "fontFamily": "字体系列", - "selectFont": "选择字体", - "selectFontDesc": "选择终端使用的字体", - "fontSize": "字体大小", - "fontSizeValue": "字体大小:{{value}}px", - "adjustFontSize": "调整终端字体大小", - "letterSpacing": "字母间距", - "letterSpacingValue": "字母间距:{{value}}px", - "adjustLetterSpacing": "调整字符之间的间距", - "lineHeight": "行高", - "lineHeightValue": "行高:{{value}}", - "adjustLineHeight": "调整行之间的间距", - "cursorStyle": "光标样式", - "selectCursorStyle": "选择光标样式", - "cursorStyleBlock": "块状", - "cursorStyleUnderline": "下划线", - "cursorStyleBar": "竖线", - "chooseCursorAppearance": "选择光标外观", - "cursorBlink": "光标闪烁", - "enableCursorBlink": "启用光标闪烁动画", - "scrollbackBuffer": "回滚缓冲区", - "scrollbackBufferValue": "回滚缓冲区:{{value}} 行", - "scrollbackBufferDesc": "保留在回滚历史记录中的行数", - "bellStyle": "铃声样式", - "selectBellStyle": "选择铃声样式", - "bellStyleNone": "无", - "bellStyleSound": "声音", - "bellStyleVisual": "视觉", - "bellStyleBoth": "两者", - "bellStyleDesc": "如何处理终端铃声(BEL字符,\\x07)。程序在完成任务、遇到错误或通知时会触发此功能。\"声音\"播放音频提示音,\"视觉\"短暂闪烁屏幕,\"两者\"同时执行,\"无\"禁用铃声提醒。", - "rightClickSelectsWord": "右键选择单词", - "rightClickSelectsWordDesc": "右键单击选择光标下的单词", - "fastScrollModifier": "快速滚动修饰键", - "selectModifier": "选择修饰键", - "modifierAlt": "Alt", - "modifierCtrl": "Ctrl", - "modifierShift": "Shift", - "fastScrollModifierDesc": "快速滚动的修饰键", - "fastScrollSensitivity": "快速滚动灵敏度", - "fastScrollSensitivityValue": "快速滚动灵敏度:{{value}}", - "fastScrollSensitivityDesc": "按住修饰键时的滚动速度倍数", - "minimumContrastRatio": "最小对比度", - "minimumContrastRatioValue": "最小对比度:{{value}}", - "minimumContrastRatioDesc": "自动调整颜色以获得更好的可读性", - "sshAgentForwarding": "SSH 代理转发", - "sshAgentForwardingDesc": "将 SSH 身份验证代理转发到远程主机", - "backspaceMode": "退格模式", - "selectBackspaceMode": "选择退格模式", - "backspaceModeNormal": "正常 (DEL)", - "backspaceModeControlH": "Control-H (^H)", - "backspaceModeDesc": "退格键行为兼容性", - "startupSnippet": "启动代码片段", - "selectSnippet": "选择代码片段", - "searchSnippets": "搜索代码片段...", - "snippetNone": "无", - "noneAuthTitle": "键盘交互式认证", - "noneAuthDescription": "此认证方法在连接到 SSH 服务器时将使用键盘交互式认证。", - "noneAuthDetails": "键盘交互式认证允许服务器在连接期间提示您输入凭据。这对于需要多因素认证或动态密码输入的服务器很有用。", - "forceKeyboardInteractive": "强制键盘交互式认证", - "forceKeyboardInteractiveDesc": "强制使用键盘交互式认证。这通常是使用双因素认证(TOTP/2FA)的服务器所必需的。", - "overrideCredentialUsername": "覆盖凭据用户名", - "overrideCredentialUsernameDesc": "使用与凭据中存储的用户名不同的用户名。这允许您对不同的用户名使用相同的凭据。", - "jumpHosts": "跳板主机", - "jumpHostsDescription": "跳板主机(也称为堡垒主机)允许您通过一个或多个中间服务器连接到目标服务器。这对于访问防火墙后或私有网络中的服务器很有用。", - "jumpHostChain": "跳板主机链", - "addJumpHost": "添加跳板主机", - "selectServer": "选择服务器", - "searchServers": "搜索服务器...", - "noServerFound": "未找到服务器", - "jumpHostsOrder": "连接将按顺序进行:跳板主机 1 → 跳板主机 2 → ... → 目标服务器", - "advancedAuthSettings": "高级身份验证设置", - "addQuickAction": "添加 Quick Action", - "noSnippetFound": "没有 snippet found", - "quickActionName": "Action 名称", - "quickActions": "Quick Actions", - "quickActionsDescription": "Quick actions allow you to 创建 custom buttons that execute SSH snippets on this server. These buttons will appear at the top of the Server Stats page for quick access.", - "quickActionsList": "Quick Actions List", - "quickActionsOrder": "Quick action buttons will appear in the order listed above on the Server Stats page", - "sshpassRequiredDesc": "For 密码 认证 in tunnels, sshpass must be installed on the system." - }, - "terminal": { - "title": "终端", - "terminalTitle": "终端 - {{host}}", - "terminalWithPath": "终端 - {{host}}:{{path}}", - "runTitle": "运行 {{command}} - {{name}}", - "totpRequired": "需要双因素认证", - "totpCodeLabel": "验证码", - "totpPlaceholder": "000000", - "totpVerify": "验证", - "connect": "连接主机", - "disconnect": "断开连接", - "clear": "清屏", - "copy": "复制", - "paste": "粘贴", - "find": "查找", - "fullscreen": "全屏", - "splitHorizontal": "水平分屏", - "splitVertical": "垂直分屏", - "closePanel": "关闭面板", - "reconnect": "重新连接", - "sessionEnded": "会话已结束", - "connectionLost": "连接已断开", - "error": "错误", - "disconnected": "已断开连接", - "connectionClosed": "连接已关闭", - "connectionError": "连接错误", - "connected": "已连接", - "sshConnected": "SSH 连接已建立", - "authError": "认证失败:{{message}}", - "unknownError": "发生未知错误", - "messageParseError": "解析服务器消息失败", - "websocketError": "WebSocket 连接错误", - "connecting": "连接中...", - "reconnecting": "重新连接中... ({{attempt}}/{{max}})", - "reconnected": "重新连接成功", - "maxReconnectAttemptsReached": "已达到最大重连尝试次数", - "connectionTimeout": "连接超时", - "sudoPasswordPopupTitle": "插入密码?", - "sudoPasswordPopupHint": "按 Enter 插入,Esc 取消", - "sudoPasswordPopupConfirm": "插入", - "sudoPasswordPopupDismiss": "取消" - }, - "fileManager": { - "title": "文件管理器", - "file": "文件", - "folder": "文件夹", - "connectToSsh": "连接 SSH 以使用文件操作", - "uploadFile": "上传文件", - "downloadFile": "下载", - "extractArchive": "解压文件", - "extractingArchive": "正在解压 {{name}}...", - "archiveExtractedSuccessfully": "{{name}} 解压成功", - "extractFailed": "解压失败", - "compressFile": "压缩文件", - "compressFiles": "压缩文件", - "compressFilesDesc": "将 {{count}} 个项目压缩为归档文件", - "archiveName": "归档文件名", - "enterArchiveName": "输入归档文件名...", - "compressionFormat": "压缩格式", - "selectedFiles": "已选文件", - "andMoreFiles": "以及其他 {{count}} 个...", - "compress": "压缩", - "compressingFiles": "正在将 {{count}} 个项目压缩到 {{name}}...", - "filesCompressedSuccessfully": "{{name}} 创建成功", - "compressFailed": "压缩失败", - "edit": "编辑", - "preview": "预览", - "previous": "上一页", - "next": "下一页", - "pageXOfY": "第 {{current}} 页,共 {{total}} 页", - "zoomOut": "缩小", - "zoomIn": "放大", - "newFile": "新建文件", - "newFolder": "新建文件夹", - "rename": "重命名", - "renameItem": "重命名项目", - "deleteItem": "删除项目", - "currentPath": "当前路径", - "uploadFileTitle": "上传文件", - "maxFileSize": "最大:1GB(JSON)/ 5GB(二进制)- 支持大文件", - "removeFile": "移除文件", - "clickToSelectFile": "点击选择文件", - "chooseFile": "选择文件", - "uploading": "上传中...", - "downloading": "下载中...", - "uploadingFile": "正在上传 {{name}}...", - "uploadingLargeFile": "正在上传大文件 {{name}} ({{size}})...", - "downloadingFile": "正在下载 {{name}}...", - "creatingFile": "正在创建 {{name}}...", - "creatingFolder": "正在创建 {{name}}...", - "deletingItem": "正在删除 {{type}} {{name}}...", - "renamingItem": "正在重命名 {{type}} {{oldName}} 为 {{newName}}...", - "createNewFile": "创建新文件", - "fileName": "文件名", - "creating": "创建中...", - "createFile": "创建文件", - "createNewFolder": "创建新文件夹", - "folderName": "文件夹名", - "createFolder": "创建文件夹", - "warningCannotUndo": "警告:此操作无法撤销", - "itemPath": "项目路径", - "thisIsDirectory": "这是一个目录(将递归删除)", - "deleting": "删除中...", - "currentPathLabel": "当前路径", - "newName": "新名称", - "thisIsDirectoryRename": "这是一个目录", - "renaming": "重命名中...", - "fileUploadedSuccessfully": "文件 \"{{name}}\" 上传成功", - "failedToUploadFile": "上传文件失败", - "failedToDownloadFile": "下载文件失败", - "noFileContent": "未收到文件内容", - "filePath": "文件路径", - "fileCreatedSuccessfully": "文件 \"{{name}}\" 创建成功", - "failedToCreateFile": "创建文件失败", - "folderCreatedSuccessfully": "文件夹 \"{{name}}\" 创建成功", - "failedToCreateFolder": "创建文件夹失败", - "failedToCreateItem": "创建项目失败", - "operationFailed": "{{operation}} 操作失败,文件 {{name}}:{{error}}", - "failedToResolveSymlink": "解析符号链接失败", - "itemDeletedSuccessfully": "{{type}}删除成功", - "itemsDeletedSuccessfully": "{{count}} 个项目删除成功", - "failedToDeleteItems": "删除项目失败", - "dragFilesToUpload": "拖拽文件到这里上传", - "emptyFolder": "此文件夹为空", - "itemCount": "{{count}} 个项目", - "selectedCount": "已选择 {{count}} 个", - "searchFiles": "搜索文件...", - "upload": "上传", - "selectHostToStart": "选择主机开始文件管理", - "failedToConnect": "连接SSH失败", - "failedToLoadDirectory": "加载目录失败", - "noSSHConnection": "无SSH连接可用", - "enterFolderName": "输入文件夹名称:", - "enterFileName": "输入文件名称:", - "copy": "复制", - "cut": "剪切", - "paste": "粘贴", - "copyPath": "复制路径", - "copyPaths": "复制路径", - "properties": "属性", - "refresh": "刷新", - "downloadFiles": "下载 {{count}} 个文件", - "copyFiles": "复制 {{count}} 个项目", - "cutFiles": "剪切 {{count}} 个项目", - "deleteFiles": "删除 {{count}} 个项目", - "filesCopiedToClipboard": "{{count}} 个项目已复制到剪贴板", - "filesCutToClipboard": "{{count}} 个项目已剪切到剪贴板", - "pathCopiedToClipboard": "路径已复制到剪贴板", - "pathsCopiedToClipboard": "{{count}} 个路径已复制到剪贴板", - "failedToCopyPath": "复制路径到剪贴板失败", - "movedItems": "已移动 {{count}} 个项目", - "unknownSize": "未知大小", - "fileIsEmpty": "文件为空", - "modified": "修改时间", - "largeFileWarning": "大文件警告", - "largeFileWarningDesc": "此文件大小为 {{size}},以文本形式打开可能会导致性能问题。", - "fileNotFoundAndRemoved": "文件 \"{{name}}\" 未找到,已从最近访问/固定文件中移除", - "failedToLoadFile": "加载文件失败:{{error}}", - "serverErrorOccurred": "服务器错误,请稍后重试。", - "failedToDeleteItem": "删除项目失败", - "itemRenamedSuccessfully": "{{type}}重命名成功", - "failedToRenameItem": "重命名项目失败", - "confirmDelete": "确定要删除 {{name}} 吗?", - "uploadSuccess": "文件上传成功", - "uploadFailed": "文件上传失败", - "downloadSuccess": "文件下载成功", - "downloadFailed": "文件下载失败", - "permissionDenied": "权限被拒绝", - "checkDockerLogs": "请检查 Docker 日志以获取详细的错误信息", - "internalServerError": "内部服务器错误发生", - "serverError": "服务器错误", - "error": "错误", - "requestFailed": "请求失败,状态码", - "unknownFileError": "未知", - "cannotReadFile": "无法读取文件", - "noSshSessionId": "没有可用的 SSH 会话 ID", - "noFilePath": "没有可用的文件路径", - "noCurrentHost": "没有可用的当前主机", - "saveTimeout": "保存操作超时。文件可能已成功保存,但操作用时过长。请检查 Docker 日志以确认。", - "failedToSaveFile": "保存文件失败", - "deletedSuccessfully": "删除成功", - "connectToServer": "连接到服务器", - "selectServerToEdit": "从侧边栏选择服务器以开始编辑文件", - "fileOperations": "文件操作", - "confirmDeleteMessage": "确定要删除 {{name}} 吗?", - "confirmDeleteSingleItem": "确定要永久删除 \"{{name}}\" 吗?", - "confirmDeleteMultipleItems": "确定要永久删除 {{count}} 个项目吗?", - "confirmDeleteMultipleItemsWithFolders": "确定要永久删除 {{count}} 个项目吗?这包括文件夹及其内容。", - "confirmDeleteFolder": "确定要永久删除文件夹 \"{{name}}\" 及其所有内容吗?", - "deleteDirectoryWarning": "这将删除文件夹及其所有内容。", - "actionCannotBeUndone": "此操作无法撤销。", - "permanentDeleteWarning": "此操作无法撤销。项目将从服务器永久删除。", - "dragSystemFilesToUpload": "拖拽系统文件到此处上传", - "dragFilesToWindowToDownload": "拖拽文件到窗口外下载", - "openTerminalHere": "在此处打开终端", - "run": "运行", - "saveToSystem": "另存为...", - "selectLocationToSave": "选择位置保存", - "openTerminalInFolder": "在此文件夹打开终端", - "openTerminalInFileLocation": "在文件位置打开终端", - "terminalWithPath": "终端 - {{host}}:{{path}}", - "runningFile": "运行 - {{file}}", - "onlyRunExecutableFiles": "只能运行可执行文件", - "noHostSelected": "没有选择主机", - "recent": "最近的", - "pinned": "固定的", - "folderShortcuts": "文件夹快捷方式", - "noRecentFiles": "没有最近的文件。", - "noPinnedFiles": "没有固定的文件。", - "enterFolderPath": "输入文件夹路径", - "noShortcuts": "没有快捷方式。", - "searchFilesAndFolders": "搜索文件和文件夹...", - "noFilesOrFoldersFound": "没有找到文件或文件夹。", - "failedToConnectSSH": "连接 SSH 失败", - "failedToReconnectSSH": "重新连接 SSH 会话失败", - "failedToListFiles": "列出文件失败", - "fetchHomeDataTimeout": "获取主页数据超时", - "sshStatusCheckTimeout": "SSH 状态检查超时", - "sshReconnectionTimeout": "SSH 重新连接超时", - "saveOperationTimeout": "保存操作超时", - "cannotSaveFile": "无法保存文件", - "starred": "收藏", - "shortcuts": "快捷方式", - "directories": "目录", - "removedFromRecentFiles": "已从最近访问中移除\"{{name}}\"", - "removeFailed": "移除失败", - "unpinnedSuccessfully": "已取消固定\"{{name}}\"", - "unpinFailed": "取消固定失败", - "removedShortcut": "已移除快捷方式\"{{name}}\"", - "removeShortcutFailed": "移除快捷方式失败", - "clearedAllRecentFiles": "已清除所有最近访问记录", - "clearFailed": "清除失败", - "removeFromRecentFiles": "从最近访问中移除", - "clearAllRecentFiles": "清除所有最近访问", - "unpinFile": "取消固定", - "removeShortcut": "移除快捷方式", - "saveFilesToSystem": "另存 {{count}} 个文件为...", - "pinFile": "固定文件", - "addToShortcuts": "添加到快捷方式", - "downloadToDefaultLocation": "下载到默认位置", - "pasteFailed": "粘贴失败", - "noUndoableActions": "没有可撤销的操作", - "undoCopySuccess": "已撤销复制操作:删除了 {{count}} 个复制的文件", - "undoCopyFailedDelete": "撤销失败:无法删除任何复制的文件", - "undoCopyFailedNoInfo": "撤销失败:找不到复制的文件信息", - "undoMoveSuccess": "已撤销移动操作:移回了 {{count}} 个文件到原位置", - "undoMoveFailedMove": "撤销失败:无法移回任何文件", - "undoMoveFailedNoInfo": "撤销失败:找不到移动的文件信息", - "undoDeleteNotSupported": "删除操作无法撤销:文件已从服务器永久删除", - "undoTypeNotSupported": "不支持撤销此类操作", - "undoOperationFailed": "撤销操作失败", - "unknownError": "未知错误", - "enterPath": "输入路径...", - "editPath": "编辑路径", - "confirm": "确认", - "cancel": "取消", - "find": "查找...", - "replaceWith": "替换为...", - "replace": "替换", - "replaceAll": "全部替换", - "downloadInstead": "下载文件", - "keyboardShortcuts": "键盘快捷键", - "searchAndReplace": "搜索和替换", - "editing": "编辑", - "navigation": "导航", - "code": "代码", - "search": "搜索", - "findNext": "查找下一个", - "findPrevious": "查找上一个", - "save": "保存", - "selectAll": "全选", - "undo": "撤销", - "redo": "重做", - "goToLine": "跳转到行", - "moveLineUp": "向上移动行", - "moveLineDown": "向下移动行", - "toggleComment": "切换注释", - "indent": "增加缩进", - "outdent": "减少缩进", - "autoComplete": "自动补全", - "imageLoadError": "图片加载失败", - "rotate": "旋转", - "originalSize": "原始大小", - "startTyping": "开始输入...", - "moveFileFailed": "移动 {{name}} 失败", - "moveOperationFailed": "移动操作失败", - "canOnlyCompareFiles": "只能对比两个文件", - "comparingFiles": "正在对比文件:{{file1}} 与 {{file2}}", - "dragFailed": "拖拽失败", - "filePinnedSuccessfully": "文件\"{{name}}\"已固定", - "pinFileFailed": "固定文件失败", - "fileUnpinnedSuccessfully": "文件\"{{name}}\"已取消固定", - "unpinFileFailed": "取消固定失败", - "shortcutAddedSuccessfully": "文件夹快捷方式\"{{name}}\"已添加", - "addShortcutFailed": "添加快捷方式失败", - "operationCompletedSuccessfully": "已{{operation}} {{count}} 个项目", - "operationCompleted": "已{{operation}} {{count}} 个项目", - "downloadFileSuccess": "文件 {{name}} 下载成功", - "downloadFileFailed": "下载失败", - "moveTo": "移动到 {{name}}", - "diffCompareWith": "与 {{name}} 对比", - "dragOutsideToDownload": "拖拽到窗口外下载 ({{count}} 个文件)", - "newFolderDefault": "新文件夹", - "newFileDefault": "新文件.txt", - "successfullyMovedItems": "成功移动 {{count}} 个项目到 {{target}}", - "move": "移动", - "searchInFile": "在文件中搜索 (Ctrl+F)", - "showKeyboardShortcuts": "显示键盘快捷键", - "startWritingMarkdown": "开始编写您的 markdown 内容...", - "loadingFileComparison": "正在加载文件对比...", - "reload": "重新加载", - "compare": "对比", - "sideBySide": "并排显示", - "inline": "内嵌显示", - "fileComparison": "文件对比:{{file1}} 与 {{file2}}", - "fileTooLarge": "文件过大:{{error}}", - "sshConnectionFailed": "SSH 连接失败。请检查与 {{name}} ({{ip}}:{{port}}) 的连接", - "loadFileFailed": "加载文件失败:{{error}}", - "connectedSuccessfully": "连接成功", - "totpVerificationFailed": "TOTP 验证失败", - "changePermissions": "修改权限", - "changePermissionsDesc": "修改文件权限", - "currentPermissions": "当前权限", - "newPermissions": "新权限", - "owner": "所有者", - "group": "组", - "others": "其他", - "read": "读取", - "write": "写入", - "execute": "执行", - "permissionsChangedSuccessfully": "权限修改成功", - "failedToChangePermissions": "权限修改失败", - "autoSaveFailed": "自动保存失败", - "delete": "删除", - "download": "下载", - "fileAutoSaved": "文件已自动保存", - "fileDownloadedSuccessfully": "文件 \"{{name}}\" 下载成功", - "fileSavedSuccessfully": "文件保存成功", - "path": "Path", - "permissions": "Permissions", - "size": "Size" - }, - "tunnels": { - "title": "SSH 隧道", - "noSshTunnels": "没有 SSH 隧道", - "createFirstTunnelMessage": "创建您的第一个 SSH 隧道以开始使用。使用 SSH 管理器添加具有隧道连接的主机。", - "connected": "已连接", - "disconnected": "已断开连接", - "connecting": "连接中...", - "disconnecting": "断开连接中...", - "unknownTunnelStatus": "未知", - "unknown": "未知", - "error": "错误", - "failed": "失败", - "retrying": "重试中", - "waiting": "等待中", - "waitingForRetry": "等待重试", - "retryingConnection": "重试连接", - "canceling": "取消中...", - "connect": "连接", - "disconnect": "断开连接", - "cancel": "取消", - "port": "端口", - "attempt": "第 {{current}} 次尝试,共 {{max}} 次", - "nextRetryIn": "{{seconds}} 秒后重试", - "checkDockerLogs": "查看 Docker 日志以了解错误原因,加入", - "noTunnelConnections": "未配置隧道连接", - "tunnelConnections": "隧道连接", - "addTunnel": "添加隧道", - "editTunnel": "编辑隧道", - "deleteTunnel": "删除隧道", - "tunnelName": "隧道名称", - "localPort": "本地端口", - "remoteHost": "远程主机", - "remotePort": "远程端口", - "autoStart": "自动启动", - "status": "状态", - "active": "活动", - "inactive": "未激活", - "start": "启动", - "stop": "停止", - "restart": "重启", - "connectionType": "连接类型", - "local": "本地", - "remote": "远程", - "dynamic": "动态", - "portMapping": "端口 {{sourcePort}} → {{endpointHost}}:{{endpointPort}}", - "endpointHostNotFound": "未找到端点主机", - "discord": "Discord", - "githubIssue": "GitHub 问题", - "forHelp": "寻求帮助", - "unknownConnectionStatus": "Unk没有wn" - }, - "serverStats": { - "title": "服务器统计", - "cpu": "CPU", - "memory": "内存", - "disk": "磁盘", - "network": "网络", - "uptime": "运行时间", - "loadAverage": "平均: {{avg1}}, {{avg5}}, {{avg15}}", - "processes": "进程", - "connections": "连接", - "usage": "使用率", - "available": "可用", - "total": "总计", - "free": "空闲", - "used": "已用", - "percentage": "百分比", - "refreshStatusAndMetrics": "刷新状态和指标", - "refreshStatus": "刷新状态", - "fileManagerAlreadyOpen": "此主机的文件管理器已打开", - "openFileManager": "打开文件管理器", - "cpuCores_one": "{{count}} 个 CPU", - "cpuCores_other": "{{count}} 个 CPU", - "naCpus": "N/A CPU", - "loadAverageNA": "平均: N/A", - "cpuUsage": "CPU 使用率", - "memoryUsage": "内存使用率", - "diskUsage": "磁盘使用率", - "rootStorageSpace": "根目录存储空间", - "of": "的", - "feedbackMessage": "对服务器管理的下一步功能有想法?在这里分享吧", - "failedToFetchHostConfig": "获取主机配置失败", - "failedToFetchStatus": "获取服务器状态失败", - "failedToFetchMetrics": "获取服务器指标失败", - "loadingMetrics": "正在加载指标...", - "refreshing": "正在刷新...", - "serverOffline": "服务器离线", - "cannotFetchMetrics": "无法从离线服务器获取指标", - "totpRequired": "需要 TOTP 认证", - "totpUnavailable": "启用了 TOTP 的服务器无法使用服务器统计功能", - "load": "负载", - "editLayout": "编辑布局", - "cancelEdit": "取消", - "addWidget": "添加小组件", - "saveLayout": "保存布局", - "unsavedChanges": "有未保存的更改", - "layoutSaved": "布局保存成功", - "failedToSaveLayout": "保存布局失败", - "systemInfo": "系统信息", - "hostname": "主机名", - "operatingSystem": "操作系统", - "kernel": "内核", - "totalUptime": "总运行时间", - "seconds": "秒", - "networkInterfaces": "网络接口", - "noInterfacesFound": "未找到网络接口", - "totalProcesses": "总进程数", - "running": "运行中", - "noProcessesFound": "未找到进程", - "loginStats": "SSH 登录统计", - "totalLogins": "总登录次数", - "uniqueIPs": "唯一 IP 数", - "recentSuccessfulLogins": "最近成功登录", - "recentFailedAttempts": "最近失败尝试", - "noRecentLoginData": "无最近登录数据", - "from": "来自", - "executeQuickAction": "执行 {{name}}", - "executingQuickAction": "执行中 {{name}}...", - "failedToFetchHomeData": "获取主页数据失败", - "quickActionError": "无法执行 {{name}}", - "quickActionFailed": "{{name}} 失败", - "quickActionSuccess": "{{name}} 完成成功", - "quickActions": "Quick Actions" - }, - "auth": { - "tagline": "SSH 终端管理器", - "description": "安全、强大、直观的 SSH 连接管理", - "welcomeBack": "欢迎回到 TERMIX", - "createAccount": "创建您的 TERMIX 账户", - "continueExternal": "使用外部提供商继续", - "loginTitle": "登录 Termix", - "registerTitle": "创建账户", - "loginButton": "登录", - "registerButton": "注册", - "forgotPassword": "忘记密码?", - "rememberMe": "记住我", - "noAccount": "还没有账户?", - "hasAccount": "已有账户?", - "loginSuccess": "登录成功", - "loginFailed": "登录失败", - "registerSuccess": "注册成功", - "registerFailed": "注册失败", - "logoutSuccess": "登出成功", - "invalidCredentials": "用户名或密码错误", - "accountCreated": "账户创建成功", - "passwordReset": "密码重置链接已发送", - "twoFactorAuth": "双因素认证", - "enterCode": "输入验证码", - "backupCode": "使用备用码", - "verifyCode": "验证码", - "enableTwoFactor": "启用双因素认证", - "disableTwoFactor": "禁用双因素认证", - "scanQRCode": "使用您的身份验证器应用扫描此二维码", - "backupCodes": "备用码", - "saveBackupCodes": "请将这些备用码保存在安全的地方", - "twoFactorEnabledSuccess": "双因素认证启用成功!", - "twoFactorDisabled": "双因素认证已禁用", - "newBackupCodesGenerated": "新备用码已生成", - "backupCodesDownloaded": "备用码已下载", - "pleaseEnterSixDigitCode": "请输入 6 位验证码", - "invalidVerificationCode": "无效的验证码", - "failedToDisableTotp": "禁用 TOTP 失败", - "failedToGenerateBackupCodes": "生成备用码失败", - "enterPassword": "输入您的密码", - "lockedOidcAuth": "已锁定 (OIDC 认证)", - "twoFactorTitle": "双因素认证", - "twoFactorProtected": "您的账户已启用双因素认证保护", - "twoFactorActive": "双因素认证当前在您的账户上处于活动状态", - "disable2FA": "禁用 2FA", - "disableTwoFactorWarning": "禁用双因素认证将降低您账户的安全性", - "passwordOrTotpCode": "密码或 TOTP 验证码", - "or": "或", - "generateNewBackupCodesText": "如果您丢失了现有的备用码,请生成新的备用码", - "generateNewBackupCodes": "生成新的备用码", - "yourBackupCodes": "您的备用码", - "download": "下载", - "setupTwoFactorTitle": "设置双因素认证", - "step1ScanQR": "步骤 1:使用您的身份验证器应用扫描二维码", - "manualEntryCode": "手动输入代码", - "cannotScanQRText": "如果无法扫描二维码,请在身份验证器应用中手动输入此代码", - "nextVerifyCode": "下一步:验证代码", - "verifyAuthenticator": "验证您的身份验证器", - "step2EnterCode": "步骤 2:输入身份验证器应用中的6位数代码", - "verificationCode": "验证码", - "back": "返回", - "verifyAndEnable": "验证并启用", - "saveBackupCodesTitle": "保存您的备用码", - "step3StoreCodesSecurely": "步骤 3:将这些代码保存在安全的地方", - "importantBackupCodesText": "请将这些备用码保存在安全的地方。如果您丢失了身份验证器设备,可以使用它们访问您的账户。", - "completeSetup": "完成设置", - "notEnabledText": "双因素认证通过在登录时要求来自身份验证器应用的代码,为您的账户增加额外的安全层。", - "enableTwoFactorButton": "启用双因素认证", - "addExtraSecurityLayer": "为您的账户添加额外的安全层", - "firstUser": "首位用户", - "firstUserMessage": "作为您的第一个用户,您将被设置为管理员。您可以在侧边栏用户下拉菜单中查看管理员设置。如果您认为这是一个错误,请检查 Docker 日志或创建 GitHub 问题", - "external": "外部", - "loginWithExternal": "使用外部提供商登录", - "loginWithExternalDesc": "使用您配置的外部身份提供者登录", - "externalNotSupportedInElectron": "Electron 应用暂不支持外部身份验证。请使用网页版本进行 OIDC 登录。", - "resetPasswordButton": "重置密码", - "sendResetCode": "发送重置代码", - "resetCodeDesc": "输入您的用户名以接收密码重置代码。代码将记录在 docker 容器日志中。", - "resetCode": "重置代码", - "verifyCodeButton": "验证代码", - "enterResetCode": "输入来自 docker 容器日志中用户的 6 位数代码:", - "goToLogin": "转到登录", - "newPassword": "新密码", - "confirmNewPassword": "确认密码", - "enterNewPassword": "为用户输入新密码:", - "passwordResetSuccess": "成功!", - "passwordResetSuccessDesc": "您的密码已成功重置!您现在可以使用新密码登录。", - "signUp": "注册", - "dataLossWarning": "以这种方式重置密码将删除所有已保存的 SSH 主机、凭据和其他加密数据。此操作无法撤销。仅当您忘记密码且未登录时才使用此功能。", - "sshAuthenticationRequired": "需要 SSH 身份验证", - "sshNoKeyboardInteractive": "键盘交互式身份验证不可用", - "sshAuthenticationFailed": "身份验证失败", - "sshAuthenticationTimeout": "身份验证超时", - "sshNoKeyboardInteractiveDescription": "服务器不支持键盘交互式身份验证。请提供您的密码或 SSH 密钥。", - "sshAuthFailedDescription": "提供的凭据不正确。请使用有效凭据重试。", - "sshTimeoutDescription": "身份验证尝试超时。请重试。", - "sshProvideCredentialsDescription": "请提供您的 SSH 凭据以连接到此服务器。", - "sshPasswordDescription": "输入此 SSH 连接的密码。", - "sshKeyPasswordDescription": "如果您的 SSH 密钥已加密,请在此处输入密码。", - "authenticating": "Authenticating...", - "authenticationDisabled": "认证已禁用", - "authenticationDisabledDesc": "所有认证方式当前已禁用。请联系您的管理员。", - "desktopApp": "桌面应用", - "loadingServer": "加载服务器中...", - "loggingInToDesktopApp": "登录桌面应用", - "loggingInToDesktopAppViaWeb": "通过网页界面登录桌面应用", - "loggingInToMobileApp": "登录移动应用", - "mobileApp": "移动应用", - "redirectingToApp": "重定向到应用..." - }, - "errors": { - "notFound": "页面未找到", - "unauthorized": "未授权访问", - "forbidden": "访问被禁止", - "serverError": "服务器错误", - "networkError": "网络错误", - "databaseConnection": "无法连接到数据库。", - "unknownError": "未知错误", - "loginFailed": "登录失败", - "failedPasswordReset": "无法启动密码重置", - "failedVerifyCode": "验证重置代码失败", - "failedCompleteReset": "无法完成密码重置", - "invalidTotpCode": "无效的 TOTP 代码", - "failedOidcLogin": "无法启动 OIDC 登录", - "failedUserInfo": "OIDC 登录后无法获取用户信息", - "oidcAuthFailed": "OIDC 认证失败", - "noTokenReceived": "登录未收到令牌", - "invalidAuthUrl": "从后端收到无效的授权 URL", - "invalidInput": "输入无效", - "requiredField": "此字段为必填项", - "minLength": "最小长度为 {{min}}", - "maxLength": "最大长度为 {{max}}", - "invalidEmail": "邮箱地址无效", - "passwordMismatch": "密码不匹配", - "passwordLoginDisabled": "用户名/密码登录当前已禁用", - "weakPassword": "密码强度太弱", - "usernameExists": "用户名已存在", - "emailExists": "邮箱已存在", - "loadFailed": "加载数据失败", - "saveError": "保存失败", - "sessionExpired": "会话已过期 - 请重新登录" - }, - "messages": { - "saveSuccess": "保存成功", - "saveError": "保存失败", - "deleteSuccess": "删除成功", - "deleteError": "删除失败", - "updateSuccess": "更新成功", - "updateError": "更新失败", - "copySuccess": "已复制到剪贴板", - "copyError": "复制失败", - "copiedToClipboard": "{{item}} 已复制到剪贴板", - "connectionEstablished": "连接已建立", - "connectionClosed": "连接已关闭", - "reconnecting": "重新连接中...", - "processing": "处理中...", - "pleaseWait": "请稍候...", - "registrationDisabled": "新用户注册已被管理员禁用。请登录或联系管理员。", - "databaseConnected": "数据库连接成功", - "databaseConnectionFailed": "无法连接到数据库服务器", - "checkServerConnection": "请检查您的服务器连接并重试", - "resetCodeSent": "重置代码已发送到 Docker 日志", - "codeVerified": "代码验证成功", - "passwordResetSuccess": "密码重置成功", - "loginSuccess": "登录成功", - "registrationSuccess": "注册成功" - }, - "profile": { - "title": "用户资料", - "description": "管理您的账户设置和安全", - "security": "安全", - "changePassword": "修改密码", - "twoFactorAuth": "双因素认证", - "accountInfo": "账户信息", - "role": "角色", - "admin": "管理员", - "user": "用户", - "authMethod": "认证方式", - "local": "本地", - "external": "外部 (OIDC)", - "selectPreferredLanguage": "选择您的界面首选语言", - "fileColorCoding": "文件颜色编码", - "fileColorCodingDesc": "按类型对文件进行颜色编码:文件夹(红色)、文件(蓝色)、符号链接(绿色)", - "commandAutocomplete": "命令自动补全", - "commandAutocompleteDesc": "启用基于命令历史记录的 Tab 键终端命令自动补全建议", - "defaultSnippetFoldersCollapsed": "默认折叠代码片段文件夹", - "defaultSnippetFoldersCollapsedDesc": "启用后,打开代码片段标签时所有文件夹将默认折叠", - "currentPassword": "当前密码", - "passwordChangedSuccess": "密码修改成功!请重新登录。", - "failedToChangePassword": "修改密码失败。请检查您当前的密码并重试。", - "externalAndLocal": "Dual Auth" - }, - "user": { - "failedToLoadVersionInfo": "加载版本信息失败" - }, - "placeholders": { - "enterCode": "000000", - "ipAddress": "127.0.0.1", - "port": "22", - "maxRetries": "3", - "retryInterval": "10", - "language": "语言", - "username": "用户名", - "hostname": "主机名", - "folder": "文件夹", - "password": "密码", - "credentialName": "我的SSH服务器", - "description": "SSH凭据描述", - "searchCredentials": "按名称、用户名或标签搜索凭据...", - "keyPassword": "密钥密码", - "pastePrivateKey": "在此粘贴您的私钥...", - "pastePublicKey": "在此粘贴您的公钥...", - "sshConfig": "端点 SSH 配置", - "homePath": "/home", - "clientId": "您的客户端 ID", - "clientSecret": "您的客户端密钥", - "authUrl": "https://your-provider.com/application/o/authorize/", - "redirectUrl": "https://your-provider.com/application/o/termix/", - "tokenUrl": "https://your-provider.com/application/o/token/", - "userIdField": "sub", - "usernameField": "名称", - "scopes": "openid email profile", - "userinfoUrl": "https://your-provider.com/application/o/userinfo/", - "enterUsername": "输入用户名以设为管理员", - "searchHosts": "按名称、用户名、IP、文件夹、标签搜索主机...", - "enterPassword": "输入您的密码", - "totpCode": "6 位 TOTP 验证码", - "searchHostsAny": "按任意信息搜索主机...", - "confirmPassword": "输入您的密码以确认", - "typeHere": "在此输入", - "fileName": "输入文件名(例如:example.txt)", - "folderName": "输入文件夹名", - "fullPath": "输入项目的完整路径", - "currentPath": "输入项目的当前路径", - "newName": "输入新名称" - }, - "leftSidebar": { - "failedToLoadHosts": "加载主机失败", - "noFolder": "无文件夹", - "passwordRequired": "需要输入密码", - "failedToDeleteAccount": "删除账户失败", - "failedToMakeUserAdmin": "设为管理员失败", - "userIsNowAdmin": "用户 {{用户名}} 现在是管理员", - "removeAdminConfirm": "确定要移除 {{用户名}} 的管理员权限吗?", - "deleteUserConfirm": "确定要删除用户 {{用户名}} 吗?此操作无法撤销。", - "deleteAccount": "删除账户", - "closeDeleteAccount": "关闭删除账户", - "deleteAccountWarning": "此操作无法撤销。这将永久删除您的账户和所有相关数据。", - "deleteAccountWarningDetails": "删除您的账户将删除所有数据,包括 SSH 主机、配置和设置。此操作不可逆。", - "deleteAccountWarningShort": "此操作不可逆,将永久删除您的帐户。", - "cannotDeleteAccount": "无法删除账户", - "lastAdminWarning": "您是最后一个管理员用户。您不能删除自己的账户,否则系统将没有任何管理员。请先将其他用户设为管理员,或联系系统支持。", - "confirmPassword": "确认密码", - "deleting": "删除中...", - "cancel": "取消" - }, - "interface": { - "sidebar": "侧边栏", - "toggleSidebar": "切换侧边栏", - "close": "关闭", - "online": "在线", - "offline": "离线", - "maintenance": "维护中", - "degraded": "降级", - "noTunnelConnections": "未配置隧道连接", - "discord": "Discord", - "connectToSshForOperations": "连接 SSH 以使用文件操作", - "uploadFile": "上传文件", - "rename": "重命名", - "noSshHosts": "没有 SSH 主机", - "importSshHosts": "从 JSON 导入 SSH 主机", - "error": "错误", - "externalAuth": "外部认证 (OIDC)", - "resetSplitSizes": "重置分屏大小", - "sshManagerAlreadyOpen": "SSH 管理器已打开", - "disabledDuringSplitScreen": "分屏期间禁用", - "maxRetriesExhausted": "已达到最大重试次数", - "administrator": "管理员", - "verifying": "验证中...", - "secretKey": "密钥", - "totpQrCode": "TOTP 二维码", - "validSshConfigRequired": "必须从列表中选择有效的 SSH 配置", - "pinConnection": "固定连接", - "productionFolder": "生产环境", - "databaseServer": "数据库服务器", - "developmentServer": "开发服务器", - "developmentFolder": "开发环境", - "webServerProduction": "Web 服务器 - 生产环境", - "failedToStartOidcLogin": "启动 OIDC 登录失败", - "failedToGetUserInfoAfterOidc": "OIDC 登录后获取用户信息失败", - "loginWithExternalProvider": "使用外部提供者登录", - "failedToStartTotpSetup": "启动 TOTP 设置失败", - "addHost": "添加 主机", - "adding": "添加ing...", - "authentication": "认证", - "cannotDeleteAccount": "Can没有t 删除 Account", - "clickToSelectFile": "Click to 选择 a 文件", - "clientId": "Client ID", - "clientSecret": "Client Secret", - "closeDeleteAccount": "关闭 删除 Account", - "configureExternalProvider": "Configure external identity provider for", - "confirmPassword": "Confirm 密码", - "connected": "已连接", - "createNewFile": "创建 New 文件", - "createNewFolder": "创建 New 文件夹", - "defaultPath": "Default Path", - "deleteAccount": "删除 Account", - "deleteItem": "删除 Item", - "deleting": "删除中...", - "disconnected": "已断开", - "editHost": "编辑 主机", - "enableFileManager": "启用 文件 Manager", - "enableTerminal": "启用 终端", - "enableTunnel": "启用 隧道", - "endpointHostNotFound": "Endpoint host 未找到", - "external": "External", - "failedToCompletePasswordReset": "无法 完成 密码 reset", - "failedToDisableTotp": "无法 禁用 TOTP", - "failedToGenerateBackupCodes": "无法 generate 返回up codes", - "failedToInitiatePasswordReset": "无法 initiate 密码 reset", - "failedToMakeUserAdmin": "无法 make 用户 管理员", - "failedToUpdateOidcConfig": "无法 更新 OIDC 配置", - "failedToVerifyResetCode": "无法 verify reset code", - "invalidTotpCode": "Invalid TOTP code", - "invalidVerificationCode": "Invalid verification code", - "key": "密钥", - "keyPassword": "密钥 密码", - "keyType": "密钥 Type", - "keyTypeRequired": "密钥 Type 是必需的 when using 密钥 认证", - "loading": "加载中...", - "local": "Local", - "login": "Login", - "loginWithExternal": "Login with External Provider", - "makeAdmin": "Make 管理员", - "maxRetries": "Max Retries", - "newFile": "New 文件", - "newFolder": "New 文件夹", - "password": "密码", - "passwordRequired": "密码 是必需的 when using 密码 认证", - "refresh": "刷新", - "renameItem": "Re名称 Item", - "resetPassword": "Reset 密码", - "retryingConnection": "重试ing 连接", - "saveConfiguration": "保存 配置", - "saving": "保存中...", - "sendResetCode": "Send Reset Code", - "signUp": "Sign Up", - "sshHosts": "SSH 主机s", - "sshKeyRequired": "SSH Private 密钥 是必需的 when using 密钥 认证", - "sshPrivateKey": "SSH Private 密钥", - "tunnelConnections": "隧道 连接s", - "unknown": "Unk没有wn", - "unknownError": "Unk没有wn 错误", - "updateHost": "更新 主机", - "updateKey": "更新 密钥", - "upload": "上传", - "user": "用户", - "verifyAndEnable": "Verify and 启用", - "verifyCode": "Verify Code", - "waitingForRetry": "Waiting for 重试", - "warning": "警告" - }, - "mobile": { - "selectHostToStart": "选择一个主机以开始您的终端会话", - "limitedSupportMessage": "网站移动端支持仍在开发中。使用移动应用以获得更好的体验。", - "mobileAppInProgress": "移动应用开发中", - "mobileAppInProgressDesc": "我们正在开发专门的移动应用,为移动设备提供更好的体验。", - "viewMobileAppDocs": "安装移动应用", - "mobileAppDocumentation": "移动应用文档" - }, - "dashboard": { - "title": "仪表板", - "github": "GitHub", - "support": "支持", - "discord": "Discord", - "donate": "捐赠", - "serverOverview": "服务器概览", - "version": "版本", - "upToDate": "已是最新", - "updateAvailable": "有可用更新", - "uptime": "运行时间", - "database": "数据库", - "healthy": "健康", - "error": "错误", - "totalServers": "服务器总数", - "totalTunnels": "隧道总数", - "totalCredentials": "凭据总数", - "recentActivity": "最近活动", - "reset": "重置", - "loadingRecentActivity": "正在加载最近活动...", - "noRecentActivity": "无最近活动", - "quickActions": "快速操作", - "addHost": "添加主机", - "addCredential": "添加凭据", - "adminSettings": "管理员设置", - "userProfile": "用户资料", - "serverStats": "服务器统计", - "loadingServerStats": "正在加载服务器统计...", - "noServerData": "无可用服务器数据", - "cpu": "CPU", - "ram": "内存", - "notAvailable": "不可用" - }, - "rbac": { - "shareHost": "分享主机", - "shareHostTitle": "分享主机访问权限", - "shareHostDescription": "授予临时或永久访问此主机的权限", - "targetUser": "目标用户", - "selectUser": "选择要分享的用户", - "duration": "时长", - "durationHours": "时长(小时)", - "neverExpires": "永不过期", - "permissionLevel": "权限级别", - "permissionLevels": { - "readonly": "只读", - "readonlyDesc": "仅可查看,无法输入命令", - "restricted": "受限", - "restrictedDesc": "阻止危险命令(passwd、rm -rf等)", - "monitored": "监控", - "monitoredDesc": "记录所有命令但不阻止(推荐)", - "full": "完全访问", - "fullDesc": "无任何限制(不推荐)" - }, - "blockedCommands": "阻止的命令", - "blockedCommandsPlaceholder": "输入要阻止的命令,如:passwd, rm, dd", - "maxSessionDuration": "最大会话时长(分钟)", - "createTempUser": "创建临时用户", - "createTempUserDesc": "在服务器上创建受限用户而不是共享您的凭据。需要sudo权限。最安全的选项。", - "expiresAt": "过期时间", - "expiresIn": "{{hours}}小时后过期", - "expired": "已过期", - "grantedBy": "授予者", - "accessLevel": "访问级别", - "lastAccessed": "最后访问", - "accessCount": "访问次数", - "revokeAccess": "撤销访问", - "confirmRevokeAccess": "确定要撤销{{username}}的访问权限吗?", - "hostSharedSuccessfully": "已成功与{{username}}分享主机", - "hostAccessUpdated": "主机访问已更新", - "failedToShareHost": "分享主机失败", - "accessRevokedSuccessfully": "访问权限已成功撤销", - "failedToRevokeAccess": "撤销访问失败", - "shared": "共享", - "sharedHosts": "共享主机", - "sharedWithMe": "与我共享", - "noSharedHosts": "没有与您共享的主机", - "owner": "所有者", - "viewAccessList": "查看访问列表", - "accessList": "访问列表", - "noAccessGranted": "此主机尚未授予任何访问权限", - "noAccessGrantedMessage": "还没有用户被授予此主机的访问权限", - "manageAccessFor": "管理访问权限", - "totalAccessRecords": "{{count}} 条访问记录", - "neverAccessed": "从未访问", - "timesAccessed": "{{count}} 次", - "daysRemaining": "{{days}} 天", - "hoursRemaining": "{{hours}} 小时", - "expired": "已过期", - "failedToFetchAccessList": "获取访问列表失败", - "currentAccess": "当前访问", - "securityWarning": "安全警告", - "securityWarningMessage": "分享凭据会让用户完全访问服务器并执行任何操作,包括更改密码和删除文件。仅与受信任的用户共享。", - "tempUserRecommended": "我们建议启用'创建临时用户'以获得更好的安全性。", - "roleManagement": "角色管理", - "manageRoles": "管理角色", - "manageRolesFor": "管理 {{username}} 的角色", - "assignRole": "分配角色", - "removeRole": "移除角色", - "userRoles": "用户角色", - "permissions": "权限", - "systemRole": "系统角色", - "customRole": "自定义角色", - "roleAssignedSuccessfully": "已成功为{{username}}分配角色", - "failedToAssignRole": "分配角色失败", - "roleRemovedSuccessfully": "已成功从{{username}}移除角色", - "failedToRemoveRole": "移除角色失败", - "cannotRemoveSystemRole": "无法移除系统角色", - "cannotShareWithSelf": "不能与自己共享主机", - "noCustomRolesToAssign": "没有可用的自定义角色。系统角色已自动分配。", - "credentialSharingWarning": "不支持共享使用凭据认证的主机", - "credentialSharingWarningDescription": "此主机使用凭据认证。由于凭据是按用户加密的无法共享,共享用户将无法连接。请为计划共享的主机使用密码或密钥认证。", - "auditLogs": "审计日志", - "viewAuditLogs": "查看审计日志", - "action": "操作", - "resourceType": "资源类型", - "resourceName": "资源名称", - "timestamp": "时间戳", - "ipAddress": "IP地址", - "userAgent": "用户代理", - "success": "成功", - "failed": "失败", - "details": "详情", - "noAuditLogs": "无可用审计日志", - "sessionRecordings": "会话录制", - "viewRecording": "查看录制", - "downloadRecording": "下载录制", - "dangerousCommand": "检测到危险命令", - "commandBlocked": "命令已阻止", - "terminateSession": "终止会话", - "sessionTerminated": "会话已被主机所有者终止", - "sharedAccessExpired": "您对此主机的共享访问权限已过期", - "sharedAccessExpiresIn": "共享访问将在{{hours}}小时后过期", - "roles": { - "label": "角色", - "admin": "管理员", - "user": "用户" - }, - "createRole": "创建角色", - "editRole": "编辑角色", - "roleName": "角色名称", - "displayName": "显示名称", - "description": "描述", - "assignRoles": "分配角色", - "userRoleAssignment": "用户角色分配", - "selectUserPlaceholder": "选择用户", - "searchUsers": "搜索用户...", - "noUserFound": "未找到用户", - "currentRoles": "当前角色", - "noRolesAssigned": "未分配角色", - "assignNewRole": "分配新角色", - "selectRolePlaceholder": "选择角色", - "searchRoles": "搜索角色...", - "noRoleFound": "未找到角色", - "assign": "分配", - "roleCreatedSuccessfully": "角色创建成功", - "roleUpdatedSuccessfully": "角色更新成功", - "roleDeletedSuccessfully": "角色删除成功", - "failedToLoadRoles": "加载角色失败", - "failedToSaveRole": "保存角色失败", - "failedToDeleteRole": "删除角色失败", - "roleDisplayNameRequired": "角色显示名称是必需的", - "roleNameRequired": "角色名称是必需的", - "roleNameHint": "仅使用小写字母、数字、下划线和连字符", - "displayNamePlaceholder": "开发者", - "descriptionPlaceholder": "软件开发人员和工程师", - "confirmDeleteRole": "删除角色", - "confirmDeleteRoleDescription": "确定要删除角色'{{name}}'吗?此操作无法撤销。", - "confirmRemoveRole": "移除角色", - "confirmRemoveRoleDescription": "确定要从用户中移除此角色吗?", - "editRoleDescription": "更新角色信息", - "createRoleDescription": "创建新的自定义角色以分组用户", - "assignRolesDescription": "管理用户的角色分配", - "noRoles": "未找到角色", - "selectRole": "选择角色", - "type": "类型", - "user": "用户", - "role": "角色", - "saveHostFirst": "请先保存主机", - "saveHostFirstDescription": "请先保存主机后再配置分享设置。", - "shareWithUser": "与用户分享", - "shareWithRole": "与角色分享", - "share": "分享", - "target": "目标", - "expires": "过期时间", - "never": "永不", - "noAccessRecords": "未找到访问记录", - "sharedSuccessfully": "分享成功", - "failedToShare": "分享失败", - "confirmRevokeAccessDescription": "确定要撤销此访问权限吗?", - "hours": "小时", - "sharing": "分享", - "selectUserAndRole": "请选择用户和角色", - "view": "仅查看", - "viewDesc": "可以查看和连接主机,但仅限只读模式", - "use": "使用", - "useDesc": "可以正常使用主机,但不能修改主机配置", - "manage": "管理", - "manageDesc": "完全控制,包括修改主机配置和分享设置" - }, - "commandPalette": { - "searchPlaceholder": "搜索主机或快速操作...", - "recentActivity": "最近活动", - "navigation": "导航", - "addHost": "添加主机", - "addCredential": "添加凭据", - "adminSettings": "管理员设置", - "userProfile": "用户资料", - "updateLog": "更新日志", - "hosts": "主机", - "openServerDetails": "打开服务器详情", - "openFileManager": "打开文件管理器", - "edit": "编辑", - "links": "链接", - "github": "GitHub", - "support": "支持", - "discord": "Discord", - "donate": "捐赠", - "press": "按下", - "toToggle": "来切换", - "close": "关闭", - "hostManager": "主机管理器" } -} +} \ No newline at end of file diff --git a/src/ui/desktop/admin/AdminSettings.tsx b/src/ui/desktop/admin/AdminSettings.tsx index 42694ae0..b9e52193 100644 --- a/src/ui/desktop/admin/AdminSettings.tsx +++ b/src/ui/desktop/admin/AdminSettings.tsx @@ -1189,7 +1189,7 @@ export function AdminSettings({
-

Session Management

+

{t("admin.sessionManagement")}