diff --git a/src/index.html b/src/index.html index 51462c767..b77335659 100644 --- a/src/index.html +++ b/src/index.html @@ -179,7 +179,7 @@
  • {{ 'network.title' | tr }}
  • {{ 'services.title' | tr }}
  • {{ 'settings.title' | tr }}
  • -
  • Volumes
  • +
  • {{ 'volumes.title' | tr }}
  • {{ 'support.title' | tr }}
  • {{ 'system.title' | tr }}
  • diff --git a/src/translation/de.json b/src/translation/de.json index 425c66538..81284ca18 100644 --- a/src/translation/de.json +++ b/src/translation/de.json @@ -56,8 +56,8 @@ "firewall": { "configure": { "title": "Konfiguration der Firewall", - "blocklistPlaceholder": "Zeilengetrennte IP-Adresse oder Subnetz", - "description": "Übereinstimmende Adressen können keine Verbindung zum Server herstellen, auch nicht zum Mailserver, zum Dashboard und zu allen Anwendungen. Vorsicht: Fehlkonfiguration kann den Server unerreichbar machen." + "blocklistPlaceholder": "Mehrere IP-Adressen oder Subnetze jeweils in eine neue Zeile", + "description": "Die hier aufgelisteten IP-Adressen werden durch die Firewall geblockt. Sie können keine Verbindung zum Server herstellen. Auch nicht zum Mailserver, zum Dashboard und zu allen anderen Anwendungen. Vorsicht: Fehlkonfiguration kann den Server unerreichbar machen." }, "title": "Firewall", "blockedIpRanges": "Gesperrte IPs und Bereiche", @@ -267,7 +267,8 @@ "setupAction": "Abonnement einrichten", "title": "Abonnement notwendig", "description": "Für das Hinzufügen weiterer User ist ein Abonnement notwendig." - } + }, + "searchPlaceholder": "Suche" }, "profile": { "title": "Profil", @@ -437,8 +438,8 @@ "testMailDialog": { "mailTo": "E-Mail an", "mailToPlaceholder": "E-Mail-Adresse", - "title": "Test-E-Mail für {{ domain }} senden", - "description": "Das wird eine Test-E-Mail von no-reply@{{ domain }} an die unten angegebene Adresse senden.", + "title": "Test-E-Mail an {{ domain }} senden", + "description": "Dies wird eine Test-E-Mail von no-reply@{{ domain }} an die unten angegebene Adresse senden.", "sendAction": "Senden" } }, @@ -480,7 +481,7 @@ "source": "Quelle" }, "domains": { - "title": "Domains & Zertifikate", + "title": "Domänen & Zertifikate", "renewCerts": { "renewAllAction": "Alle Zertifikate erneuern", "showLogsAction": "Logfiles anzeigen", @@ -558,7 +559,8 @@ "diskContent": "Dieser {{ type }} Datenträger enthält", "usageInfo": "{{ available | prettyDiskSize }} von {{ size | prettyDiskSize }} verfügbar", "title": "Datenträger-Nutzung", - "mountedAt": "{{ filesystem }} mounted at {{ mountpoint }}" + "mountedAt": "{{ filesystem }} mounted at {{ mountpoint }}", + "notAvailableYet": "Noch nicht verfügbar" }, "systemMemory": { "graphSubtext": "Anwendungswerte werden nicht gestapelt", @@ -578,7 +580,7 @@ "advancedSettings": "Erweiterte Einstellungen.", "encryptionDescription": "Vorsicht: Passphrase an einem sicheren Ort aufbewahren. Cloudron speichert dieses Passwort nicht. Backups können ohne die Passphrase nicht entschlüsselt werden", "encryptionPassword": "Verschlüsselungspasswort (optional)", - "s3LikeNote": "Alle Regeln für den Ablauf des Lebenszyklus von Objekten entfernen, da dadurch rsync-Backups beschädigt werden.", + "s3LikeNote": "Bitte alle object expiration lifecycle Regeln entfernen, da dadurch rsync-Backups beschädigt werden.", "formatChangeNote": "Frühere Backups, die das alte Speicherformat verwenden, müssen manuell entfernt werden.", "format": "Speicherformat", "gcsServiceKey": "Service-Kontoschlüssel", @@ -607,13 +609,13 @@ "downloadConcurrencyDescription": "Anzahl der Dateien, die beim Wiederherstellen parallel heruntergeladen werden", "downloadConcurrency": "Gleichzeitiges Herunterladen", "uploadPartSizeDescription": "Paketgröße beim Hochladen. Bis zu 3 Pakete werden gleichzeitig hochgeladen. Dementsprechend wird auch Arbeitsspeicher benötigt.", - "memoryLimitDescription": "Arbeitsspeicherlimit für die Datensicherung. Erhöhe dies, wenn die Datensicherung Concurrency erhöht wird." + "memoryLimitDescription": "Arbeitsspeicherlimit für die Datensicherung. Das Limit erhöhen, wenn die Datensicherung-Concurrency erhöht wird." }, "configureBackupSchedule": { "retentionPolicy": "Aufbewahrungsrichtlinie", "hours": "Stunden", "days": "Tage", - "scheduleDescription": "Tage und Stunden auswählen, an denen Cloudron ein Backup erstellen soll. Der Zeitplan soll sich nicht mit dem Zeitplan für Aktualisierungen zu überschneiden.", + "scheduleDescription": "Tage und Stunden auswählen, an denen Cloudron ein Backup erstellen soll. Der Zeitplan soll sich nicht mit dem Zeitplan für Aktualisierungen überschneiden.", "schedule": "Zeitplan", "title": "Sicherungszeitplan und Aufbewahrung konfigurieren" }, @@ -635,7 +637,7 @@ }, "logs": { "showLogs": "Logfiles anzeigen", - "description": "Vorsicht: Die Logfiles können sensible Informationen enthalten. Öffentlich erreichbare Webserver sind kein geeigneter Speicherort.", + "description": "Vorsicht: Die Logfiles können sensible Informationen enthalten. Öffentlich erreichbare Webserver sind kein geeigneter Speicherort, um die Logfiles anderen zur Verfügung zu stellen.", "title": "Logfiles" }, "listing": { @@ -654,7 +656,7 @@ "configure": "Konfigurieren", "retentionPolicy": "Aufbewahrungsrichtlinie", "schedule": "Zeitplan", - "description": "Cloudron erstellt ein vollständiges Backup des Systems. Es basiert auf dem konfigurierten Intervall und bewahrt die Anzahl der Backups mit der angegebenen Aufbewahrungsrichtlinie auf.", + "description": "Cloudron erstellt ein vollständiges Backup des Systems. Es basiert auf dem konfigurierten Intervall und bewahrt die Anzahl der Backups nach der angegebenen Aufbewahrungsrichtlinie auf.", "title": "Zeitplan und Aufbewahrung" }, "location": { @@ -664,7 +666,7 @@ "location": "Ort", "provider": "Anbieter", "disabledList": "Bei folgenden Apps ist das automatische Backup deaktiviert:", - "description": "Cloudron erstellt ein komplettes Systembackup auf dem konfigurierten Standort.", + "description": "Cloudron erstellt ein komplettes Systembackup auf dem konfigurierten Ort.", "title": "Backup-Ort" } }, @@ -744,7 +746,7 @@ "branding": { "title": "Design- & Textanpassungen", "changeLogo": { - "title": "Cloudron Avatar auswählen" + "title": "Cloudron-Avatar auswählen" }, "footer": { "setupSubscriptionNow": "Abonnenement jetzt abschließen", @@ -799,12 +801,12 @@ "selfsignedCheckbox": "Selbstsignierte Zertifikate akzeptieren", "apiTokenOrKey": "API-Token/Key", "password": "Passwort", - "spfDocInfo": "Cloudron richtet einen SPF-Eintrag nicht automatisch ein. Für die manuelle Einrichtung, der {{ name }} Anleitung folgen.", + "spfDocInfo": "Cloudron richtet einen SPF-Eintrag nicht automatisch ein. Für die manuelle Einrichtung, bitte der {{ name }} Anleitung folgen.", "saveSuccess": "Gespeichert" }, "description": "Cloudron wird diesen E-Mail-Server (Smart-Host) verwenden, um die ausgehenden E-Mails der unter dieser Domäne installierten Anwendungen zu versenden.", "noopNonAdminDomainWarning": "Wenn E-Mail deaktiviert ist, können die Anwendungen, die unter der Domäne installiert wurden, keine E-Mails versenden.", - "noopAdminDomainWarning": "Cloudron kann keine User-Einladungen, Passwort-Zurücksetzen und andere Benachrichtigungen senden, wenn E-Mail in der primären Domain deaktiviert ist", + "noopAdminDomainWarning": "Cloudron kann keine User-Einladungen, Passwort-Zurücksetzen und andere Benachrichtigungen senden, wenn E-Mail-Versand in der primären Domäne deaktiviert ist", "tabTitle": "Ausgehend", "title": "E-Mail-Relay" }, @@ -822,7 +824,7 @@ "port": "Port", "mailinglists": { "membersOnlyTooltip": "Senden an die Liste nur Mitgliedern erlaubt", - "description": "Eine Mailing-Liste leitet alle E-Mails an ihre Mitglieder weiter.", + "description": "Eine E-Mail an eine Mailing-Liste wird an alle Listen-Mitglieder weitergeleitet.", "members": "Listen-Mitglieder", "everyoneTooltip": "Senden an die Liste durch Nichtmitglieder erlaubt", "title": "Mailing-Listen", @@ -838,19 +840,20 @@ "usage": "Benutzung", "addAction": "Hinzufügen" }, - "description": "Mit dem Cloudron E-Mail-Server können User E-Mails für diese Domäne empfangen. Rainloop, SOGo, Roundcube sind für den Zugriff auf Cloudron E-Mail bereits vorkonfiguriert.", + "description": "Mit dem Cloudron E-Mail-Server können User E-Mails für diese Domäne empfangen. Die Anwendungen Rainloop, SOGo, Roundcube sind für den Zugriff auf Cloudron E-Mail bereits vorkonfiguriert.", "outgointServerInfo": "Ausgehende E-Mails (SMTP)", "sieveServerInfo": "Sieve-Filter verwalten", - "loginHelp": "Postfachname@{{ domain }} und das Passwort des Postfach-User verwenden, um auf die Postfächer dieser Domäne zuzugreifen" + "loginHelp": "Postfachname@{{ domain }} und das Passwort des Postfach-Users verwenden, um auf die Postfächer dieser Domäne zuzugreifen", + "incomingServerInfo": "Eintreffende E-Mail (IMAP)" }, "masquerading": { - "description": "Masquerading erlaubt es Usern und Anwendungen, E-Mails mit einem beliebigen Username in der FROM-Adresse zu versenden.", + "description": "Maskierung erlaubt es Usern und Anwendungen, E-Mails mit einem beliebigen Username in der FROM-Adresse zu versenden.", "title": "Maskierung", "enableAction": "Aktivieren", "disableAction": "Deaktivieren" }, "smtpStatus": { - "notBlacklisted": "Die IP-Adresse des Servers {{ ip }} ist nicht auf einer Blockliste.", + "notBlacklisted": "Die IP-Adresse des Servers {{ ip }} ist nicht auf einer bekannten Blockliste.", "outboudRelay": "Ausgeheneder SMTP (Relay)", "blacklistCheck": "IP-Adressen Blocklisten-Überprüfung", "blacklisted": "Die IP-Adresse des Servers {{ ip }} ist auf einer Blockliste.", @@ -886,7 +889,7 @@ "title": "Mail-Liste hinzufügen", "members": "Listen-Mitglieder", "membersInfo": "Mehrere E-Mail-Adressen jeweils in eine neue Zeile", - "membersOnlyCheckbox": "Mailversand an Liste so einschränken, dass nur Mitglieder senden dürfen" + "membersOnlyCheckbox": "Den Mailversand an diese Liste so einschränken, dass nur Mitglieder senden dürfen." }, "mailboxboxDialog": { "groupsHeader": "Gruppen", @@ -898,7 +901,7 @@ "title": "Abonnement erforderlich" }, "config": { - "title": "E-Mail-Konfiguration {{ domain }}", + "title": "E-Mail-Konfiguration für {{ domain }}", "connectionDetails": "Verbindungsdetails für andere E-Mail-Clients" }, "addMailboxDialog": { @@ -907,12 +910,12 @@ "name": "Name" }, "editMailboxDialog": { - "title": "Postfach{{ name }}@{{ domain }} bearbeiten", + "title": "Postfach {{ name }}@{{ domain }} bearbeiten", "owner": "Besitzer*in des Postfachs", "addAliasAction": "Ein Alias hinzufügen", "addAnotherAliasAction": "Ein weiteres Alias hinzufügen", "aliases": "Aliase", - "noAliases": "Kein alias wurde konfiguriert." + "noAliases": "Bislang wurde kein Alias konfiguriert." }, "deleteMailinglistDialog": { "description": "Die Mail-Liste {{ name }}@{{ domain }} wirklich löschen?", @@ -1124,7 +1127,8 @@ }, "robots": { "title": "robots.txt", - "txtPlaceholder": "Leer lassen, um allen Bots zu erlauben diese Anwendung in den Index aufzunehmen" + "txtPlaceholder": "Leer lassen, um allen Bots zu erlauben diese Anwendung in den Index aufzunehmen", + "disableIndexingAction": "Indexierung deaktivieren" } }, "backAction": "Zurück zu den Anwendungen", @@ -1246,7 +1250,9 @@ "volume": "Datenträger", "noMounts": "Es sind keine Datenträger gemounted.", "addMountAction": "Einen Datenträger mount hinzufügen", - "saveAction": "Speichern" + "saveAction": "Speichern", + "warning": "Volumes sind nicht Teil der Cloudron-Backups. Das Wiederherstellen einer Anwendung würde also nicht den Inhalt des Volumes wiederherstellen. Bitte sicherstellen, dass ein geeigneter Sicherungsplan für diese Datenträger existiert.", + "description": "Volumes sind auf dem Hostsystem gemountete Verzeichnisse, die von verschiedenen Anwendungen gemeinsam genutzt werden können. Dies können Netzwerk-Mounts wie NFS oder große Speicherplatten sein, die direkt an den Server angeschlossen sind." } }, "uninstallDialog": { diff --git a/src/translation/en.json b/src/translation/en.json index 5c2fd4d74..d521714f6 100644 --- a/src/translation/en.json +++ b/src/translation/en.json @@ -901,7 +901,8 @@ "description": "Emails sent to non existing addresses will be forwarded to the following mailboxes.", "subscriptionRequired": "This feature is only available in the paid plans. Setup Subscription Now", "saveAction": "Save" - } + }, + "incomingServerInfo": "Incoming Mail (IMAP)" }, "outbound": { "tabTitle": "Outbound", @@ -1019,7 +1020,6 @@ "groupsHeader": "Groups" } }, - "incomingServerInfo": "Incoming Mail (IMAP)", "app": { "backAction": "Back to My Apps", "logsActionTooltip": "Logs", @@ -1105,7 +1105,7 @@ "addMountAction": "Add a volume mount", "saveAction": "Save", "description": "Volumes are directories mounted onto the host system, which can be shared between apps. This may be network mounts like NFS or large storage disks directly attached to the server.", - "warning": "Volumes are not part of any backups. Restoring an app would thus not restore the volume's content. Please make sure to have some suitable of backup plan for that volume." + "warning": "Volumes are not part of any backups. Restoring an app would not restore the volume's content. Please make sure to have some suitable backup plan for that volume." } }, "graphs": { @@ -1349,5 +1349,23 @@ "de": "German", "fr": "French", "it": "Italian" + }, + "volumes": { + "title": "Volumes", + "addVolumeAction": "Add Volume", + "hostPath": "Host Path", + "name": "Name", + "openFileManagerActionTooltip": "Open FileManager", + "removeVolumeActionTooltip": "Remove Volume", + "addVolumeDialog": { + "title": "Add Volume", + "nameWarning": "Cloudron will mount the host path into the app's container with this name under /media.", + "addAction": "Add" + }, + "removeVolumeDialog": { + "title": "Really remove {{ volume }} ?", + "description": "This will delete the volume {{ volume }}. Data inside the host path will not be removed.", + "removeAction": "Remove" + } } } diff --git a/src/views/volumes.html b/src/views/volumes.html index e780c520e..869a8af37 100644 --- a/src/views/volumes.html +++ b/src/views/volumes.html @@ -3,7 +3,7 @@ @@ -40,18 +38,15 @@ @@ -59,7 +54,7 @@
    -

    Volumes

    +

    {{ 'volumes.title' | tr }}

    @@ -73,8 +68,8 @@ - - + + @@ -87,8 +82,8 @@ {{ volume.hostPath }}
    NameHost Path{{ 'volumes.name' | tr }}{{ 'volumes.hostPath' | tr }} {{ 'main.actions' | tr }}
    - - + +