Translate the volume view
This commit is contained in:
+1
-1
@@ -179,7 +179,7 @@
|
||||
<li ng-show="user.isAtLeastAdmin"><a href="#/network"><i class="fas fa-network-wired fa-fw"></i> {{ 'network.title' | tr }}</a></li>
|
||||
<li ng-show="user.isAtLeastAdmin"><a href="#/services"><i class="fa fa-cogs fa-fw"></i> {{ 'services.title' | tr }}</a></li>
|
||||
<li ng-show="user.isAtLeastAdmin"><a href="#/settings"><i class="fa fa-wrench fa-fw"></i> {{ 'settings.title' | tr }}</a></li>
|
||||
<li ng-show="user.isAtLeastAdmin"><a href="#/volumes"><i class="fa fa-hdd fa-fw"></i> Volumes</a></li>
|
||||
<li ng-show="user.isAtLeastAdmin"><a href="#/volumes"><i class="fa fa-hdd fa-fw"></i> {{ 'volumes.title' | tr }}</a></li>
|
||||
<li ng-show="user.isAtLeastAdmin" class="divider"></li>
|
||||
<li ng-show="user.isAtLeastAdmin"><a href="#/support"><i class="fa fa-comment fa-fw"></i> {{ 'support.title' | tr }}</a></li>
|
||||
<li ng-show="user.isAtLeastAdmin"><a href="#/system"><i class="fa fa-chart-area fa-fw"></i> {{ 'system.title' | tr }}</a></li>
|
||||
|
||||
+33
-27
@@ -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 <b>no-reply@{{ domain }}</b> an die unten angegebene Adresse senden.",
|
||||
"title": "Test-E-Mail an {{ domain }} senden",
|
||||
"description": "Dies wird eine Test-E-Mail von <b>no-reply@{{ domain }}</b> 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 }}</b> von <b>{{ size | prettyDiskSize }}</b> verfügbar",
|
||||
"title": "Datenträger-Nutzung",
|
||||
"mountedAt": "{{ filesystem }} <small>mounted at</small> {{ mountpoint }}"
|
||||
"mountedAt": "{{ filesystem }} <small>mounted at</small> {{ 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 <a href=\"/#/settings\">Zeitplan für Aktualisierungen</a> zu überschneiden.",
|
||||
"scheduleDescription": "Tage und Stunden auswählen, an denen Cloudron ein Backup erstellen soll. Der Zeitplan soll sich nicht mit dem <a href=\"/#/settings\">Zeitplan für Aktualisierungen</a> ü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 <a href=\"{{ spfDocsLink }}\" target=\"_blank\">{{ name }} Anleitung</a> folgen.",
|
||||
"spfDocInfo": "Cloudron richtet einen SPF-Eintrag nicht automatisch ein. Für die manuelle Einrichtung, bitte der <a href=\"{{ spfDocsLink }}\" target=\"_blank\">{{ name }} Anleitung</a> 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 <a href=\"{{ emailDocsLink }}\" target=\"_blank\">E-Mail-Server</a> können User E-Mails für diese Domäne empfangen. <a href=\"{{ rainloopLink }}\">Rainloop</a>, <a href=\"{{ sogoLink }}\">SOGo</a>, <a href=\"{{ roundcubeLink }}\">Roundcube</a> sind für den Zugriff auf Cloudron E-Mail bereits vorkonfiguriert.",
|
||||
"description": "Mit dem Cloudron <a href=\"{{ emailDocsLink }}\" target=\"_blank\">E-Mail-Server</a> können User E-Mails für diese Domäne empfangen. Die Anwendungen <a href=\"{{ rainloopLink }}\">Rainloop</a>, <a href=\"{{ sogoLink }}\">SOGo</a>, <a href=\"{{ roundcubeLink }}\">Roundcube</a> sind für den Zugriff auf Cloudron E-Mail bereits vorkonfiguriert.",
|
||||
"outgointServerInfo": "Ausgehende E-Mails (SMTP)",
|
||||
"sieveServerInfo": "Sieve-Filter verwalten",
|
||||
"loginHelp": "<i>Postfachname</i>@{{ domain }} und das Passwort des Postfach-User verwenden, um auf die Postfächer dieser Domäne zuzugreifen"
|
||||
"loginHelp": "<i>Postfachname</i>@{{ 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 <b>nicht</b> auf einer Blockliste.",
|
||||
"notBlacklisted": "Die IP-Adresse des Servers {{ ip }} ist <b>nicht</b> 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 <b>{{ name }}@{{ domain }}</b> 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 <i>nicht</i> 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": {
|
||||
|
||||
+21
-3
@@ -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. <a href=\"\" class=\"pull-right\" ng-click=\"openSubscriptionSetup()\">Setup Subscription Now</a>",
|
||||
"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 <i>not</i> 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 <i>not</i> 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 <code>/media</code>.",
|
||||
"addAction": "Add"
|
||||
},
|
||||
"removeVolumeDialog": {
|
||||
"title": "Really remove {{ volume }} ?",
|
||||
"description": "This will delete the volume <code>{{ volume }}</code>. Data inside the host path will not be removed.",
|
||||
"removeAction": "Remove"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+16
-21
@@ -3,7 +3,7 @@
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">Add Volume</h4>
|
||||
<h4 class="modal-title">{{ 'volumes.addVolumeDialog.title' | tr }}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form name="volumeAddForm" role="form" novalidate ng-submit="volumeAdd.submit()" autocomplete="off">
|
||||
@@ -11,13 +11,13 @@
|
||||
<p class="has-error text-center" ng-show="volumeAdd.error">{{ volumeAdd.error }}</p>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Volume name</label>
|
||||
<p class="small text-info">Cloudron will mount the host path into the app's container with this name under <code>/media</code>.</p>
|
||||
<label class="control-label">{{ 'volumes.name' | tr }}</label>
|
||||
<p class="small text-info" ng-bind-html="'volumes.addVolumeDialog.nameWarning' | tr"></p>
|
||||
<input type="text" class="form-control" ng-model="volumeAdd.name" name="name" ng-disabled="volumeAdd.busy" autofocus>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Host Path</label>
|
||||
<label class="control-label">{{ 'volumes.hostPath' | tr }}</label>
|
||||
<input type="text" class="form-control" ng-model="volumeAdd.hostPath" name="hostPath" ng-disabled="volumeAdd.busy" autofocus>
|
||||
</div>
|
||||
|
||||
@@ -26,10 +26,8 @@
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer ">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
||||
<button type="submit" class="btn btn-outline btn-success pull-right" ng-click="volumeAdd.submit()" ng-disabled="volumeAddForm.$invalid || volumeAdd.busy">
|
||||
<i class="fa fa-circle-notch fa-spin" ng-show="volumeAdd.busy"></i> Add
|
||||
</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ 'main.dialog.cancel' | tr }}</button>
|
||||
<button type="submit" class="btn btn-outline btn-success pull-right" ng-click="volumeAdd.submit()" ng-disabled="volumeAddForm.$invalid || volumeAdd.busy"><i class="fa fa-circle-notch fa-spin" ng-show="volumeAdd.busy"></i> {{ 'volumes.addVolumeDialog.addAction' | tr }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -40,18 +38,15 @@
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">Really remove {{ volumeRemove.volume.name }} ?</h4>
|
||||
<h4 class="modal-title">{{ 'volumes.removeVolumeDialog.title' | tr:{ volume:volumeRemove.volume.name } }}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This will delete the volume <code>{{ volumeRemove.volume.name }}</code>. Data inside the host path will not be removed.
|
||||
<div>
|
||||
<br/>
|
||||
<span class="has-error" ng-show="volumeRemove.error">{{ volumeRemove.error }}</span>
|
||||
</div>
|
||||
<p ng-bind-html="{{ 'volumes.removeVolumeDialog.description' | tr:{ volume:volumeRemove.volume.name } }}"></p>
|
||||
<p class="has-error" ng-show="volumeRemove.error">{{ volumeRemove.error }}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" ng-click="volumeRemove.submit()" ng-disabled="volumeRemove.busy"><i class="fa fa-circle-notch fa-spin" ng-show="volumeRemove.busy"></i> Remove</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ 'main.dialog.cancel' | tr }}</button>
|
||||
<button type="button" class="btn btn-danger" ng-click="volumeRemove.submit()" ng-disabled="volumeRemove.busy"><i class="fa fa-circle-notch fa-spin" ng-show="volumeRemove.busy"></i> {{ 'volumes.removeVolumeDialog.removeAction' | tr }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -59,7 +54,7 @@
|
||||
|
||||
<div class="content">
|
||||
<div class="text-left">
|
||||
<h1>Volumes <button class="btn btn-primary btn-outline pull-right" ng-click="volumeAdd.show()"><i class="fa fa-plus"></i> Add Volume</button></h1>
|
||||
<h1>{{ 'volumes.title' | tr }} <button class="btn btn-primary btn-outline pull-right" ng-click="volumeAdd.show()"><i class="fa fa-plus"></i> {{ 'volumes.addVolumeAction' | tr }}</button></h1>
|
||||
</div>
|
||||
|
||||
<div class="card card-large">
|
||||
@@ -73,8 +68,8 @@
|
||||
<table class="table table-hover" style="margin-top: 10px;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-left">Name</th>
|
||||
<th class="text-left">Host Path</th>
|
||||
<th class="text-left">{{ 'volumes.name' | tr }}</th>
|
||||
<th class="text-left">{{ 'volumes.hostPath' | tr }}</th>
|
||||
<th style="width: 100px" class="text-right">{{ 'main.actions' | tr }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -87,8 +82,8 @@
|
||||
{{ volume.hostPath }}
|
||||
</td>
|
||||
<td class="text-right no-wrap" style="vertical-align: bottom">
|
||||
<a class="btn btn-xs btn-default" ng-href="{{ '/filemanager.html?volumeId=' + volume.id }}" target="_blank" uib-tooltip="File Manager"><i class="far fa-file-alt"></i></a>
|
||||
<button class="btn btn-xs btn-danger" ng-click="volumeRemove.show(volume)" title="Remove Volume"><i class="far fa-trash-alt"></i></button>
|
||||
<a class="btn btn-xs btn-default" ng-href="{{ '/filemanager.html?volumeId=' + volume.id }}" target="_blank" uib-tooltip="{{ 'volumes.openFileManagerActionTooltip' | tr }}"><i class="far fa-file-alt"></i></a>
|
||||
<button class="btn btn-xs btn-danger" ng-click="volumeRemove.show(volume)" uib-tooltip="{{ 'volumes.removeVolumeActionTooltip' | tr }}"><i class="far fa-trash-alt"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user