diff --git a/dashboard/public/translation/da.json b/dashboard/public/translation/da.json index 73f74906a..8f899ae8b 100644 --- a/dashboard/public/translation/da.json +++ b/dashboard/public/translation/da.json @@ -335,9 +335,7 @@ "version": "Version" }, "configureBackupSchedule": { - "scheduleDescription": "Vælg de dage og timer, hvor Cloudron skal tage backup. Pas på, at denne tidsplan ikke overlapper med opdateringsplan.", "title": "Konfigurer tidsplan og opbevaring af sikkerhedskopier", - "schedule": "Tidsplan", "days": "Dage", "hours": "Timer", "retentionPolicy": "Politik for opbevaring" @@ -373,7 +371,6 @@ "uploadConcurrencyDescription": "Antal filer, der skal uploades parallelt ved sikkerhedskopiering", "copyConcurrency": "Kopiering af samtidighed", "copyConcurrencyDescription": "Antal eksterne filkopieringer parallelt ved sikkerhedskopiering.", - "copyConcurrencyDigitalOceanNote": "DigitalOcean Spaces hastighedsgrænser på 20.", "encryptionPasswordRepeat": "Gentag adgangskode", "server": "Server IP eller værtsnavn", "remoteDirectory": "Fjernkatalog", diff --git a/dashboard/public/translation/de.json b/dashboard/public/translation/de.json index bc9ef84f1..4cf966b71 100644 --- a/dashboard/public/translation/de.json +++ b/dashboard/public/translation/de.json @@ -666,7 +666,6 @@ "title": "Backup-Speicher konfigurieren", "encryptionPasswordRepeat": "Password wiederholen", "encryptionPasswordPlaceholder": "Zur Verschlüsselung der Sicherungen verwendete Passphrase", - "copyConcurrencyDigitalOceanNote": "Das Limit von DigitalOcean Spaces liegt bei 20.", "copyConcurrencyDescription": "Anzahl der Remote-Dateikopien, die parallel bei einem Backup genutzt werden.", "copyConcurrency": "Gleichzeitige Zugriffe beim kopieren", "uploadConcurrencyDescription": "Anzahl der Dateien, die beim Backup parallel hochgeladen werden", @@ -708,8 +707,6 @@ "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 überschneiden.", - "schedule": "Zeitplan", "title": "Sicherungszeitplan und Aufbewahrung konfigurieren" }, "backupDetails": { diff --git a/dashboard/public/translation/en.json b/dashboard/public/translation/en.json index 54015c289..acc71427e 100644 --- a/dashboard/public/translation/en.json +++ b/dashboard/public/translation/en.json @@ -80,10 +80,10 @@ "locationPlaceholder": "Leave empty to use bare domain", "manualWarning": "Manually set up A (IPv4) and AAAA (IPv6) DNS records for {{ location }} pointing to this server", "userManagement": "User management", - "userManagementNone": "This app has its own user management. This setting determines whether this app is visible in the user's dashboard.", - "userManagementMailbox": "All users with a mailbox on this Cloudron have access.", + "userManagementNone": "This app has its own user management. Configure whether this app is visible in the user’s dashboard.", + "userManagementMailbox": "Users with a mailbox can log in with their mailbox email and Cloudron password.", "userManagementLeaveToApp": "Leave user management to the app", - "userManagementAllUsers": "Allow all users from this Cloudron", + "userManagementAllUsers": "Allow all users on this Cloudron", "userManagementSelectUsers": "Only allow the following users and groups", "errorUserManagementSelectAtLeastOne": "Select at least one user or group", "users": "Users", @@ -352,7 +352,7 @@ }, "listing": { "title": "System Backups", - "noBackups": "No Backups", + "noBackups": "No backups", "contents": "Contents", "version": "Version", "noApps": "No Apps", @@ -372,12 +372,15 @@ "duration": "Duration" }, "configureBackupSchedule": { - "title": "Configure Backup Schedule and Retention", - "schedule": "Schedule", - "scheduleDescription": "Set the days and times for backups. Make sure this schedule does not overlap with the update schedule.", + "title": "Configure Backup Schedule & Retention", + "schedule": { + "context": "Configure schedule & retention of backup site \"{{ name }}\"", + "description": "Set the days and times for backups. Make sure this schedule does not overlap with the update schedule.", + "title": "Backup schedule" + }, "days": "Days", "hours": "Hours", - "retentionPolicy": "Retention Policy", + "retentionPolicy": "Retention policy", "disable": "Disable automatic backups", "enable": "Enable automatic backups" }, @@ -399,18 +402,17 @@ "format": "Storage format", "s3LikeNote": "Please remove any object expiration lifecycle rules since it will corrupt rsync backups.", "encryptionPassword": "Encryption password", - "encryptionDescription": "Save this passphrase in a safe place. Cloudron does not store this password. Backups cannot be decrypted without the passphrase", + "encryptionDescription": "Save this passphrase in a safe place. Cloudron does not store this password. Backups cannot be decrypted without the passphrase.", "memoryLimit": "Memory limit", - "memoryLimitDescription": "Memory limit for the backup task. Adjust this if you increase the concurrency values from their defaults.", + "memoryLimitDescription": "Memory limit for the backup task", "uploadPartSize": "Upload Part Size", "uploadPartSizeDescription": "Multi-part upload part size. Up to 3 parts are uploaded in parallel and requires as much memory.", - "downloadConcurrency": "Download Concurrency", - "downloadConcurrencyDescription": "Number of files to download in parallel when restoring", - "uploadConcurrency": "Upload Concurrency", - "uploadConcurrencyDescription": "Number of files to upload in parallel when backing up", - "copyConcurrency": "Copy Concurrency", - "copyConcurrencyDescription": "Number of remote file copies in parallel when backing up.", - "copyConcurrencyDigitalOceanNote": "DigitalOcean Spaces rate limits at 20.", + "downloadConcurrency": "Download concurrency", + "downloadConcurrencyDescription": "Number of files downloaded in parallel", + "uploadConcurrency": "Upload concurrency", + "uploadConcurrencyDescription": "Number of files uploaded in parallel", + "copyConcurrency": "Copy concurrency", + "copyConcurrencyDescription": "Number of remote file copied in parallel", "encryptionPasswordPlaceholder": "Passphrase used to encrypt the backups", "encryptionPasswordRepeat": "Repeat password", "server": "Server IP / Hostname", @@ -423,24 +425,25 @@ "diskPath": "Disk path", "cifsSealSupport": "Use seal encryption (requires at least SMB v3)", "chown": "Remote file system supports chown", - "encryptFilenames": "Encrypt Filenames", + "encryptFilenames": "Encrypt filenames", "preserveAttributesLabel": "Preserve file attributes", "name": "Name", "encryptionHint": "Encryption password hint", "usesEncryption": "Backup is encrypted", - "useForUpdates": "Store backups of automatic updates here", + "useForUpdates": "Store automatic-update backups here", "backupContents": { - "title": "Backup Contents", + "title": "Backup contents", "description": "Choose what to back up to this site.", "everything": "Everything", "excludeSelected": "Exclude selected", - "includeOnlySelected": "Include only selected" + "includeOnlySelected": "Include only selected", + "context": "Configure contents of backup site \"{{ name }}\"" }, "automaticUpdates": { "title": "Backups of automatic updates", - "description": "A backup is always created before applying automatic updates. Choose whether to store those backups on this site." + "description": "A backup is always created before automatic updates. Select this option to store those backups on this site." }, - "useEncryption": "Encrypt Backups" + "useEncryption": "Encrypt backups" }, "backupEdit": { "title": "Edit Backup", @@ -1161,7 +1164,7 @@ }, "accessControl": { "userManagement": { - "description": "This app is configured to authenticate with the Cloudron User Directory. This setting controls who can log in and use the app.", + "description": "Configure the app to authenticate with the Cloudron user directory. This setting controls who can log in and use the app.", "descriptionSftp": "This setting also controls SFTP access.", "dashboardVisibility": "Dashboard visibility", "visibleForAllUsers": "Visible to all users on this Cloudron", @@ -1233,20 +1236,20 @@ "mailboxPlaceholder": "Mailbox name", "saveAction": "Save", "enable": "Use Cloudron Mail to send email", - "disable": "Do not configure app's mail delivery settings", - "enableDescription": "Configures the app to send email using the address below and outbound email settings.", - "disableDescription": "The app's mail delivery settings remain unchanged. You can configure it inside the app.", + "disable": "Do not configure the app's mail delivery settings", + "enableDescription": "Configure the app to send email using the address below and outbound email settings.", + "disableDescription": "The app's mail delivery settings remain unchanged. You can configure them inside the app.", "displayName": "From name" }, "inbox": { "disable": "Do not configure inbox", - "disableDescription": "The app's incoming mail settings is unchanged. You can configure it inside the app. Select this if the domain's email is not hosted on Cloudron.", + "disableDescription": "The app's incoming mail settings remain unchanged. You can configure them inside the app. Select this option if the domain’s email is not hosted on Cloudron.", "title": "Incoming mail", "enable": "Use Cloudron Mail to receive emails", - "enableDescription": "The app is configured to receive mails using the address below. Select this option if {{ domain }}'s email is hosted on this server." + "enableDescription": "Configure the app to receive email using the address below. Select this option if {{ domain }}'s email is hosted on this server." }, "configuration": { - "title": "Email Configuration" + "title": "Outbound mail" } }, "security": { @@ -1408,7 +1411,7 @@ "servicesTabTitle": "Services", "turn": { "title": "TURN autoconfiguration", - "info": "Enable this option to configure the app to use the built-in TURN server. When disabled, the app's TURN settings are left alone." + "info": "Use the built-in TURN server. When disabled, the app’s TURN settings remain unchanged." }, "redis": { "title": "Redis autoconfiguration", @@ -1601,13 +1604,13 @@ }, "sites": { "title": "Backup Sites", - "emptyPlaceholder": "No Backup Sites", + "emptyPlaceholder": "No backup sites", "lastRun": "Last run" }, "site": { "removeDialog": { - "description": "This will also remove any backup entries linked to this site.", - "title": "Really remove this backup site?" + "description": "Removing a backup site deletes its backup entries from Cloudron. Backup files stored on the remote destination are not removed.

Remove the backup site \"{{ name }}\" ?", + "title": "Remove Backup Site" } } }, diff --git a/dashboard/public/translation/es.json b/dashboard/public/translation/es.json index 9c9f793e6..dd7967b59 100644 --- a/dashboard/public/translation/es.json +++ b/dashboard/public/translation/es.json @@ -275,7 +275,6 @@ "configureBackupStorage": { "encryptionPasswordRepeat": "Repetir Contraseña", "encryptionPasswordPlaceholder": "Frase de contraseña utilizada para cifrar las copias de seguridad", - "copyConcurrencyDigitalOceanNote": "Límites de velocidad de DigitalOcean Spaces en 20.", "copyConcurrencyDescription": "Número de copias de archivos remotos en paralelo al realizar una copia de seguridad.", "copyConcurrency": "Copiar simultaneidad", "uploadConcurrencyDescription": "Número de archivos para cargar en paralelo al realizar una copia de seguridad", @@ -337,8 +336,6 @@ "retentionPolicy": "Política de Retención", "hours": "Horas", "days": "Días", - "scheduleDescription": "Establece los días y las horas de las copias de seguridad. Asegúrate de que esta programación no se solape con la programación de actualizaciones.", - "schedule": "Programar", "title": "Configurar la Programación y Retención de la Copia de Seguridad" }, "backupDetails": { diff --git a/dashboard/public/translation/fr.json b/dashboard/public/translation/fr.json index 1da539e7d..ccdded4d8 100644 --- a/dashboard/public/translation/fr.json +++ b/dashboard/public/translation/fr.json @@ -282,8 +282,6 @@ "days": "Jours", "hours": "Heures", "title": "Paramétrer la planification et la conservation des sauvegardes", - "schedule": "Fréquence", - "scheduleDescription": "Sélectionnez les jours et heures de lancement de la sauvegarde de Cloudron. Veillez à ne pas planifier la sauvegarde au même moment que les mises à jour.", "retentionPolicy": "Politique de conservation" }, "schedule": { @@ -319,7 +317,6 @@ "encryptionDescription": "Conservez cette phrase secrète en lieu sûr. Cloudron ne stocke pas ce mot de passe. Les sauvegardes ne pourront pas être déchiffrés sans cette phrase secrète.", "downloadConcurrency": "Simultanéité des téléchargements", "uploadConcurrency": "Simultanéité des chargements", - "copyConcurrencyDigitalOceanNote": "La limite pour DigitalOcean Spaces est fixée à 20.", "encryptionPasswordPlaceholder": "Phrase secrète utilisée pour le chiffrement des sauvegardes", "uploadPartSize": "Taille des partitions", "uploadPartSizeDescription": "Taille des partitions dans le cadre du chargement partitionné. Jusqu'à 3 partitions peuvent être chargées simultanément, chacune nécessitant sa part de mémoire.", diff --git a/dashboard/public/translation/it.json b/dashboard/public/translation/it.json index 3c5ff82ba..b9e267a36 100644 --- a/dashboard/public/translation/it.json +++ b/dashboard/public/translation/it.json @@ -536,7 +536,6 @@ "s3Endpoint": "Endpoint", "encryptionPasswordRepeat": "Ripeti Password", "encryptionPasswordPlaceholder": "Passphrase utilizzata per crittografare i backup", - "copyConcurrencyDigitalOceanNote": "Gli spazi DigitalOcean limitano la velocità a 20.", "copyConcurrencyDescription": "Numero di copie di file remoti in parallelo durante il backup.", "copyConcurrency": "Copia Contemporanea", "uploadConcurrency": "Upload Contemporanei", @@ -547,8 +546,6 @@ "retentionPolicy": "Politica di conservazione", "hours": "Ore", "days": "Giorni", - "scheduleDescription": "Seleziona i giorni e le ore durante i quali Cloudron eseguirà il backup. Fai attenzione a non sovrapporre questa pianificazione alla pianificazione degli aggiornamenti .", - "schedule": "Pianifica", "title": "Configura pianificazione e conservazione backup" }, "backupDetails": { diff --git a/dashboard/public/translation/nl.json b/dashboard/public/translation/nl.json index 5c05ac84c..8cc947774 100644 --- a/dashboard/public/translation/nl.json +++ b/dashboard/public/translation/nl.json @@ -373,11 +373,9 @@ }, "configureBackupSchedule": { "title": "Configureer Backup Planning en Bewaartermijn", - "schedule": "Planning", "days": "Dagen", "hours": "Uren", "retentionPolicy": "Bewaartermijn", - "scheduleDescription": "Stel de dagen en uren voor backups in. Zorg ervoor dat deze tijden niet overlappen met de update planning.", "disable": "Automatische backups uitschakelen", "enable": "Automatische backups inschakelen" }, @@ -405,7 +403,6 @@ "uploadConcurrency": "Upload gelijktijdigheid", "copyConcurrency": "Gelijktijdigheid bij kopiëren", "copyConcurrencyDescription": "Aantal externe bestandskopieën, die parallel bij het maken van een back-up gebruikt worden.", - "copyConcurrencyDigitalOceanNote": "Het limiet van DigitalOcean Spaces ligt op 20.", "encryptionPasswordPlaceholder": "Wachtwoord wat gebruikt is om backups te versleutelen", "s3AccessKeyId": "Toegangssleutel ID", "s3SecretAccessKey": "Geheime toegangssleutel", @@ -507,7 +504,7 @@ "title": "Instellingen", "location": "Mail Server Locatie", "maxMailSize": "Maximale e-mailgrootte", - "spamFilter": "Spam filtering", + "spamFilter": "Spamfiltering", "spamFilterOverview": "{{ blacklistCount }} adres(sen) op de blokkeerlijst", "solrFts": "Zoek volledige tekst", "acl": "E-mail ACL", @@ -676,9 +673,9 @@ "mailboxPlaceholder": "Mailbox naam", "saveAction": "Opslaan", "enable": "Verstuur e-mail via Cloudron Mail", - "disable": "Configureer geen app e-mail aflever instellingen", - "enableDescription": "Configureert de app om e-mail te verzenden met het onderstaande adres en uitgaande e-mail instellingen.", - "disableDescription": "De instellingen voor app's e-mailaflevering blijven ongewijzigd. Je kunt dit nu configureren in de app zelf.", + "disable": "Configureer niet de app e-mail aflever instellingen", + "enableDescription": "Configureer de app om e-mail te verzenden met het onderstaande adres en uitgaande e-mail instellingen.", + "disableDescription": "De instellingen voor app's e-mailaflevering blijven ongewijzigd. Je kunt ze configureren in de app zelf.", "displayName": "Van naam" }, "inbox": { @@ -686,10 +683,10 @@ "disableDescription": "De app's inkomende e-mail instellingen blijven ongewijzigd. Je kunt dit zelf in de app doen. Selecteer deze optie indien het gewenste e-maildomein niet in deze Cloudron is opgenomen.", "title": "Inkomende e-mail", "enable": "Gebruik Cloudron E-mail om e-mails te ontvangen", - "enableDescription": "Deze app is geconfigureerd om e-mails te ontvangen met onderstaand e-mailadres. Selecteer deze optie als {{ domain }}'s e-mail is gehost op deze server." + "enableDescription": "Configureer de app om e-mail te ontvangen met onderstaand e-mailadres. Selecteer deze optie als {{ domain }}'s e-mail is gehost op deze server." }, "configuration": { - "title": "E-mail configuratie" + "title": "Uitgaande e-mail" } }, "logsActionTooltip": "Logbestanden", @@ -889,8 +886,8 @@ }, "uninstallDialog": { "uninstallAction": "De-installeer", - "title": "De-installeer {{ app }}", - "description": "Hiermee deïnstalleer je {{ app }} inclusief alle bijbehorende gegevens." + "title": "Deïnstalleer App", + "description": "Deïnstalleer \"{{ app }}\" inclusief alle bijbehorende gegevens?" }, "importBackupDialog": { "title": "Importeer backup", @@ -959,7 +956,7 @@ "servicesTabTitle": "Diensten", "turn": { "title": "TURN autoconfiguratie", - "info": "Inschakelen van deze optie configureert de app om de ingebouwde TURN server te gebruiken. Indien uitgeschakeld zullen de TURN instellingen van de app niet aangepast worden." + "info": "Gebruik de ingebouwde TURN-server. Indien uitgeschakeld zullen de TURN instellingen van de app niet aangepast worden." }, "redis": { "title": "Redis autoconfiguratie", @@ -979,8 +976,8 @@ "noBackup": "Deze app heeft geen backup. Archiveren vereist een recente backup." }, "archiveDialog": { - "title": "Archief {{app}}", - "description": "Hiermee wordt de app gedeïnstalleerd en wordt de laatste app backup van {{date}} bewaard in het App Archief." + "title": "Archiveer App", + "description": "Deïnstalleer de app \"{{ app }}\" en verplaats de laatste back-up (gemaakt op {{ date }}) naar het app-archief?" }, "updateAvailableTooltip": "Update beschikbaar", "configureTooltip": "Configureer", diff --git a/dashboard/public/translation/pt.json b/dashboard/public/translation/pt.json index e3cea8357..60d71ffd2 100644 --- a/dashboard/public/translation/pt.json +++ b/dashboard/public/translation/pt.json @@ -501,7 +501,6 @@ "title": "Eliminar Arquivo de {{appTitle}} ({{fqdn}})" }, "configureBackupSchedule": { - "schedule": "Agendar", "days": "Dias", "hours": "Horas", "retentionPolicy": "Política de Retenção", diff --git a/dashboard/public/translation/ru.json b/dashboard/public/translation/ru.json index cca6f6d1f..44ece0e57 100644 --- a/dashboard/public/translation/ru.json +++ b/dashboard/public/translation/ru.json @@ -672,8 +672,6 @@ "retentionPolicy": "Политика хранения" }, "configureBackupSchedule": { - "scheduleDescription": "Установите дни и часы для резервного копирования. Убедитесь, что установленное расписание не пересекается с расписанием обновлений.", - "schedule": "Расписание", "days": "Дни", "hours": "Часы", "retentionPolicy": "Политика хранения", @@ -707,7 +705,6 @@ "downloadConcurrencyDescription": "Количество файлов, загружаемых одновременно во время восстановления", "uploadConcurrencyDescription": "Количество файлов, выгружаемых одновременно во время резервного копирования", "copyConcurrency": "Многопоточное копирование", - "copyConcurrencyDigitalOceanNote": "Лимит запросов DigitalOcean Spaces равен 20.", "encryptionPasswordPlaceholder": "Парольная фраза, используемая для расшифровки резервных копий", "encryptionPasswordRepeat": "Повторите пароль", "server": "IP сервера или Имя хоста", diff --git a/dashboard/public/translation/vi.json b/dashboard/public/translation/vi.json index 0c2f069c8..2843031a7 100644 --- a/dashboard/public/translation/vi.json +++ b/dashboard/public/translation/vi.json @@ -328,7 +328,6 @@ "memoryLimitDescription": "Giới hạn bộ nhớ cho thao tác sao lưu. Điều chỉnh nếu bạn cần tăng giới hạn hiện tại so với giá trị mặc định.", "encryptionPasswordRepeat": "Nhập lại mật khẩu", "encryptionPasswordPlaceholder": "Mật khẩu để mã hoá các bản sao lưu", - "copyConcurrencyDigitalOceanNote": "DigitalOcean Spaces giới hạn ở mức 20.", "copyConcurrency": "Copy đồng thời", "uploadConcurrencyDescription": "Số tập tin để tải lên cùng lúc khi đang sao lưu Cloudron", "downloadConcurrency": "Tải xuống đồng thời", @@ -372,8 +371,6 @@ "retentionPolicy": "Thời gian lưu giữ", "hours": "Thời gian", "days": "Ngày", - "scheduleDescription": "Chọn ngày và giờ mà Cloudron sẽ thực hiện sao lưu. Xin lưu ý tránh chọn thời gian trùng với lịch cập nhật phiên bản Cloudron.", - "schedule": "Lịch sao lưu", "title": "Cấu hình lịch sao lưu và thời gian lưu giữ" }, "backupDetails": { diff --git a/dashboard/public/translation/zh_Hans.json b/dashboard/public/translation/zh_Hans.json index 30dd9513a..31e9c96cc 100644 --- a/dashboard/public/translation/zh_Hans.json +++ b/dashboard/public/translation/zh_Hans.json @@ -117,11 +117,9 @@ }, "configureBackupSchedule": { "title": "配置备份计划和保留时间", - "scheduleDescription": "选择 Cloudron 备份的日期和时间。请注意这个安排不要和 升级计划 重合。", "hours": "小时", "days": "星期", - "retentionPolicy": "保留时间", - "schedule": "备份计划" + "retentionPolicy": "保留时间" }, "configureBackupStorage": { "title": "配置备份的存储", @@ -153,7 +151,6 @@ "memoryLimitDescription": "备份任务的内存限制。如果您增加了并发值,请调整内存上限。", "copyConcurrency": "并发数", "copyConcurrencyDescription": "当备份时同时复制几个文件。", - "copyConcurrencyDigitalOceanNote": "DigitalOcean Spaces 的上限为 20。", "s3LikeNote": "请不要在 S3 存储桶上设置 lifecycle 规则,因为这会导致 rsync 备份损坏。", "server": "服务器 IP 或 Hostname", "cifsSealSupport": "使用 seal 加密。需要 SMB v3 以上版本", diff --git a/dashboard/src/components/BackupSiteConfigDialog.vue b/dashboard/src/components/BackupSiteConfigDialog.vue index 766dc9bc0..006fff2a9 100644 --- a/dashboard/src/components/BackupSiteConfigDialog.vue +++ b/dashboard/src/components/BackupSiteConfigDialog.vue @@ -286,9 +286,7 @@ defineExpose({ -
{{ $t('backups.configureBackupStorage.copyConcurrencyDescription') }} - {{ $t('backups.configureBackupStorage.copyConcurrencyDigitalOceanNote') }} -
+
{{ $t('backups.configureBackupStorage.copyConcurrencyDescription') }}
diff --git a/dashboard/src/components/BackupSiteContentDialog.vue b/dashboard/src/components/BackupSiteContentDialog.vue index e0c924340..3b4340710 100644 --- a/dashboard/src/components/BackupSiteContentDialog.vue +++ b/dashboard/src/components/BackupSiteContentDialog.vue @@ -109,12 +109,14 @@ defineExpose({ >
+

{{ $t('backups.configureBackupStorage.backupContents.context', { name: site.name }) }}

+ +
{{ formError.generic }}
+
-
{{ formError.generic }}
-
{{ $t('backups.configureBackupStorage.backupContents.description') }}
diff --git a/dashboard/src/components/BackupSiteScheduleDialog.vue b/dashboard/src/components/BackupSiteScheduleDialog.vue index 239880a09..928bff0e1 100644 --- a/dashboard/src/components/BackupSiteScheduleDialog.vue +++ b/dashboard/src/components/BackupSiteScheduleDialog.vue @@ -9,7 +9,7 @@ const emit = defineEmits([ 'success' ]); const backupSitesModel = BackupSitesModel.create(); -const id = ref(''); +const site = ref({}); const busy = ref(false); const formError = ref(''); const dialog = useTemplateRef('dialog'); @@ -41,7 +41,7 @@ async function onSubmit() { schedule = 'never'; } - let [error] = await backupSitesModel.setSchedule(id.value, schedule); + let [error] = await backupSitesModel.setSchedule(site.value.id, schedule); if (error) { busy.value = false; formError.value = error.body ? error.body.message : 'Internal error'; @@ -49,7 +49,7 @@ async function onSubmit() { } const selectedRetention = BackupSitesModel.backupRetentions.find(function (x) { return x.name === configureRetention.value; }); - [error] = await backupSitesModel.setRetention(id.value, selectedRetention.id); + [error] = await backupSitesModel.setRetention(site.value.id, selectedRetention.id); if (error) { busy.value = false; formError.value = error.body ? error.body.message : 'Internal error'; @@ -63,21 +63,21 @@ async function onSubmit() { } defineExpose({ - async open(site) { - id.value = site.id; + async open(s) { + site.value = s; busy.value = false; formError.value = false; - const currentRetentionString = JSON.stringify(site.retention); + const currentRetentionString = JSON.stringify(site.value.retention); const selectedRetention = BackupSitesModel.backupRetentions.find(function (x) { return JSON.stringify(x.id) === currentRetentionString; }); configureRetention.value = selectedRetention ? selectedRetention.name : BackupSitesModel.backupRetentions[0].name; - if (site.schedule === 'never') { + if (site.value.schedule === 'never') { scheduleType.value = 'never'; } else { scheduleType.value = 'pattern'; - const tmp = site.schedule.split(' '); + const tmp = site.value.schedule.split(' '); const tmpHours = tmp[2].split(','); const tmpDays = tmp[5].split(','); @@ -105,13 +105,15 @@ defineExpose({ :confirm-active="isConfigureValid" @confirm="onSubmit()" > +

{{ $t('backups.configureBackupSchedule.schedule.context', { name: site.name }) }}

+
{{ formError }}
- -
+ +
diff --git a/dashboard/src/views/BackupSitesView.vue b/dashboard/src/views/BackupSitesView.vue index 681effc15..2b5bddde2 100644 --- a/dashboard/src/views/BackupSitesView.vue +++ b/dashboard/src/views/BackupSitesView.vue @@ -90,8 +90,8 @@ function prettyBackupContents(contents) { async function onRemoveSite(site) { const yes = await inputDialog.value.confirm({ title: t('backup.site.removeDialog.title'), - message: t('backup.site.removeDialog.description'), - confirmLabel: t('main.dialog.yes'), + message: t('backup.site.removeDialog.description', { name: site.name }), + confirmLabel: t('main.action.remove'), confirmStyle: 'danger', rejectLabel: t('main.dialog.cancel'), rejectStyle: 'secondary',