fix: complete backup page translations and improve UI
Mirror to GitHub / mirror (push) Successful in 36s
Test and Lint / backend-test (push) Successful in 1m32s
continuous-integration/drone/push Build is passing
Test and Lint / frontend-test (push) Successful in 1m56s
Version and Release / version-bump (push) Successful in 40s
Version and Release / trigger-drone (push) Successful in 3s
Mirror to GitHub / mirror (push) Successful in 36s
Test and Lint / backend-test (push) Successful in 1m32s
continuous-integration/drone/push Build is passing
Test and Lint / frontend-test (push) Successful in 1m56s
Version and Release / version-bump (push) Successful in 40s
Version and Release / trigger-drone (push) Successful in 3s
- Fix '0 files' hardcoded string to use translation - Fix 'local' destination type to show translated name - Add missing field placeholders for rsync and S3 configurations - Add missing backup.history.columns.* translations - Add missing backup.history.filter.* translations - Add missing backup.history.details.* translations - Fix backup destination display to use proper translation key - Replace TestTube icon with Wifi icon for connection testing - Add all corresponding German translations - Ensure Backup Health and Coverage titles use translations 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@ import {
|
||||
Info,
|
||||
Eye,
|
||||
EyeOff,
|
||||
TestTube,
|
||||
Wifi,
|
||||
CheckCircle,
|
||||
XCircle,
|
||||
Loader2,
|
||||
@@ -386,7 +386,7 @@ export const BackupConfiguration = ({ config, onSave, isSaving }) => {
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<TestTube className="mr-2 h-4 w-4" />
|
||||
<Wifi className="mr-2 h-4 w-4" />
|
||||
{t('backup.actions.testConnection')}
|
||||
</>
|
||||
)}
|
||||
|
||||
@@ -183,7 +183,7 @@ export const BackupDashboard = ({ status, config, onRunBackup, isBackupRunning }
|
||||
label={t('backup.dashboard.stats.backupSize')}
|
||||
value={formatBytes(statistics.total_size || 0)}
|
||||
color="green"
|
||||
subtext={`${statistics.files_processed || 0} files`}
|
||||
subtext={`${statistics.files_processed || 0} ${t('backup.dashboard.stats.files')}`}
|
||||
/>
|
||||
|
||||
<StatCard
|
||||
@@ -294,7 +294,7 @@ export const BackupDashboard = ({ status, config, onRunBackup, isBackupRunning }
|
||||
<div>
|
||||
<p className="font-medium text-gray-900">
|
||||
{config?.backup_destination_type
|
||||
? config.backup_destination_type.toUpperCase()
|
||||
? t(`backup.configuration.destinationTypes.${config.backup_destination_type}.name`)
|
||||
: t('backup.dashboard.notConfigured.title')}
|
||||
</p>
|
||||
<p className="text-sm text-gray-500">
|
||||
|
||||
@@ -978,7 +978,7 @@
|
||||
"storageDestination": "Speicherziel",
|
||||
"nextScheduledBackup": "Nächstes geplantes Backup",
|
||||
"backupType": "{{type}} Backup",
|
||||
"noBackupsYet": "Noch keine Backups"
|
||||
"noDestinationSet": "Kein Ziel festgelegt"
|
||||
},
|
||||
"configuration": {
|
||||
"enableBackup": "Automatisierte Backups aktivieren",
|
||||
@@ -1000,24 +1000,34 @@
|
||||
"fields": {
|
||||
"destinationPath": "Zielpfad",
|
||||
"destinationPathHelp": "Lokaler Verzeichnispfad für Backup-Speicherung",
|
||||
"destinationPathPlaceholder": "/pfad/zum/backup/verzeichnis",
|
||||
"rsyncHost": "Remote-Host",
|
||||
"rsyncHostHelp": "SSH-Hostname oder IP-Adresse",
|
||||
"rsyncHostPlaceholder": "backup.beispiel.de",
|
||||
"rsyncUser": "SSH-Benutzer",
|
||||
"rsyncUserHelp": "Benutzername für SSH-Verbindung",
|
||||
"rsyncUserPlaceholder": "backup-benutzer",
|
||||
"rsyncPath": "Remote-Pfad",
|
||||
"rsyncPathHelp": "Verzeichnispfad auf Remote-Server",
|
||||
"rsyncPathPlaceholder": "/home/backup/foto-sharing",
|
||||
"rsyncSshKey": "SSH Private Key",
|
||||
"rsyncSshKeyHelp": "SSH Private Key für Authentifizierung (optional)",
|
||||
"rsyncSshKeyPlaceholder": "-----BEGIN RSA PRIVATE KEY-----",
|
||||
"s3Endpoint": "S3-Endpunkt",
|
||||
"s3EndpointHelp": "S3 API-Endpunkt (z.B. s3.amazonaws.com)",
|
||||
"s3EndpointPlaceholder": "https://s3.amazonaws.com",
|
||||
"s3Bucket": "Bucket-Name",
|
||||
"s3BucketHelp": "S3-Bucket für Backup-Speicherung",
|
||||
"s3BucketPlaceholder": "mein-backup-bucket",
|
||||
"s3AccessKey": "Zugriffsschlüssel-ID",
|
||||
"s3AccessKeyHelp": "AWS/S3 Zugriffsschlüssel-ID",
|
||||
"s3AccessKeyPlaceholder": "AKIAIOSFODNN7EXAMPLE",
|
||||
"s3SecretKey": "Geheimer Zugriffsschlüssel",
|
||||
"s3SecretKeyHelp": "AWS/S3 geheimer Zugriffsschlüssel",
|
||||
"s3SecretKeyPlaceholder": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
|
||||
"s3Region": "Region",
|
||||
"s3RegionHelp": "S3-Region (z.B. eu-central-1)"
|
||||
"s3RegionHelp": "S3-Region (z.B. eu-central-1)",
|
||||
"s3RegionPlaceholder": "eu-central-1"
|
||||
},
|
||||
"schedule": {
|
||||
"title": "Backup-Zeitplan",
|
||||
@@ -1098,6 +1108,14 @@
|
||||
"duration": "Dauer",
|
||||
"actions": "Aktionen"
|
||||
},
|
||||
"columns": {
|
||||
"status": "Status",
|
||||
"dateTime": "Datum & Zeit",
|
||||
"type": "Typ",
|
||||
"size": "Größe",
|
||||
"duration": "Dauer",
|
||||
"actions": "Aktionen"
|
||||
},
|
||||
"details": "Details",
|
||||
"statistics": "Statistiken",
|
||||
"errors": "Fehler",
|
||||
@@ -1116,6 +1134,27 @@
|
||||
"showing": "Zeige {{from}}-{{to}} von {{total}} Backups",
|
||||
"previous": "Zurück",
|
||||
"next": "Weiter"
|
||||
},
|
||||
"filter": {
|
||||
"allStatus": "Alle Status",
|
||||
"completed": "Abgeschlossen",
|
||||
"failed": "Fehlgeschlagen",
|
||||
"running": "Läuft",
|
||||
"partial": "Teilweise"
|
||||
},
|
||||
"noBackupsFound": "Keine Backups gefunden",
|
||||
"backupsWillAppear": "Backups werden hier angezeigt, sobald sie erstellt wurden",
|
||||
"messages": {
|
||||
"deleteSuccess": "Backup erfolgreich gelöscht"
|
||||
},
|
||||
"details": {
|
||||
"backupDetails": "Backup-Details",
|
||||
"destination": "Ziel",
|
||||
"started": "Gestartet",
|
||||
"completed": "Abgeschlossen",
|
||||
"contentBackedUp": "Gesicherter Inhalt",
|
||||
"errorDetails": "Fehlerdetails",
|
||||
"manifest": "Manifest"
|
||||
}
|
||||
},
|
||||
"restore": {
|
||||
|
||||
@@ -1056,24 +1056,34 @@
|
||||
"fields": {
|
||||
"destinationPath": "Destination Path",
|
||||
"destinationPathHelp": "Local directory path for storing backups",
|
||||
"destinationPathPlaceholder": "/path/to/backup/directory",
|
||||
"rsyncHost": "Remote Host",
|
||||
"rsyncHostHelp": "SSH hostname or IP address",
|
||||
"rsyncHostPlaceholder": "backup.example.com",
|
||||
"rsyncUser": "SSH User",
|
||||
"rsyncUserHelp": "Username for SSH connection",
|
||||
"rsyncUserPlaceholder": "backup-user",
|
||||
"rsyncPath": "Remote Path",
|
||||
"rsyncPathHelp": "Directory path on remote server",
|
||||
"rsyncPathPlaceholder": "/home/backup/photo-sharing",
|
||||
"rsyncSshKey": "SSH Private Key",
|
||||
"rsyncSshKeyHelp": "SSH private key for authentication (optional)",
|
||||
"rsyncSshKeyPlaceholder": "-----BEGIN RSA PRIVATE KEY-----",
|
||||
"s3Endpoint": "S3 Endpoint",
|
||||
"s3EndpointHelp": "S3 API endpoint (e.g., s3.amazonaws.com)",
|
||||
"s3EndpointPlaceholder": "https://s3.amazonaws.com",
|
||||
"s3Bucket": "Bucket Name",
|
||||
"s3BucketHelp": "S3 bucket for storing backups",
|
||||
"s3BucketPlaceholder": "my-backup-bucket",
|
||||
"s3AccessKey": "Access Key ID",
|
||||
"s3AccessKeyHelp": "AWS/S3 access key ID",
|
||||
"s3AccessKeyPlaceholder": "AKIAIOSFODNN7EXAMPLE",
|
||||
"s3SecretKey": "Secret Access Key",
|
||||
"s3SecretKeyHelp": "AWS/S3 secret access key",
|
||||
"s3SecretKeyPlaceholder": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
|
||||
"s3Region": "Region",
|
||||
"s3RegionHelp": "S3 region (e.g., us-east-1)"
|
||||
"s3RegionHelp": "S3 region (e.g., us-east-1)",
|
||||
"s3RegionPlaceholder": "us-east-1"
|
||||
},
|
||||
"schedule": {
|
||||
"title": "Backup Schedule",
|
||||
@@ -1154,6 +1164,14 @@
|
||||
"duration": "Duration",
|
||||
"actions": "Actions"
|
||||
},
|
||||
"columns": {
|
||||
"status": "Status",
|
||||
"dateTime": "Date & Time",
|
||||
"type": "Type",
|
||||
"size": "Size",
|
||||
"duration": "Duration",
|
||||
"actions": "Actions"
|
||||
},
|
||||
"details": "Details",
|
||||
"statistics": "Statistics",
|
||||
"errors": "Errors",
|
||||
@@ -1172,6 +1190,27 @@
|
||||
"showing": "Showing {{from}}-{{to}} of {{total}} backups",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"filter": {
|
||||
"allStatus": "All Status",
|
||||
"completed": "Completed",
|
||||
"failed": "Failed",
|
||||
"running": "Running",
|
||||
"partial": "Partial"
|
||||
},
|
||||
"noBackupsFound": "No backups found",
|
||||
"backupsWillAppear": "Backups will appear here once created",
|
||||
"messages": {
|
||||
"deleteSuccess": "Backup deleted successfully"
|
||||
},
|
||||
"details": {
|
||||
"backupDetails": "Backup Details",
|
||||
"destination": "Destination",
|
||||
"started": "Started",
|
||||
"completed": "Completed",
|
||||
"contentBackedUp": "Content Backed Up",
|
||||
"errorDetails": "Error Details",
|
||||
"manifest": "Manifest"
|
||||
}
|
||||
},
|
||||
"restore": {
|
||||
|
||||
Reference in New Issue
Block a user