release: v1.3.0 — 整站备份恢复、跨后端同步与任务中心
ci / ci (22, ubuntu-latest) (push) Canceled after 0s
GitHub Release / release (push) Canceled after 0s
Publish Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Canceled after 0s
Publish Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Canceled after 0s
Publish Docker image / merge (push) Canceled after 0s
ci / ci (22, ubuntu-latest) (push) Canceled after 0s
GitHub Release / release (push) Canceled after 0s
Publish Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Canceled after 0s
Publish Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Canceled after 0s
Publish Docker image / merge (push) Canceled after 0s
This commit is contained in:
1 parent
b05d572221
commit
f17d79b236
72 files changed
+4312
-559
No files matched your search
+131
-2
@@ -110,7 +110,18 @@
|
||||
"migrateSubmit": "Complete migration",
|
||||
"initSubmit": "Create and continue",
|
||||
"migrateSuccess": "Migration complete",
|
||||
"initSuccess": "Setup complete"
|
||||
"initSuccess": "Setup complete",
|
||||
"restoreTitle": "Restore from backup",
|
||||
"restoreSubtitle": "Upload a .phost.tar.gz to restore the full site",
|
||||
"restoreHint": "Restore replaces all current data. Cloud storage secrets are not in the backup—re-enter them on the Storage page after sign-in.",
|
||||
"restoreUpload": "Choose backup file",
|
||||
"restoreSubmit": "Start restore",
|
||||
"restoreProgress": "Restoring… {progress}/{total}",
|
||||
"restoreSuccess": "Restore complete. Sign in with the admin account from the backup.",
|
||||
"restoreFailed": "Restore failed",
|
||||
"restoreSecretsHint": "Cloud storage secrets are not in the backup. Re-enter them on the Storage page after sign-in.",
|
||||
"modeInit": "Create admin",
|
||||
"modeRestore": "Restore backup"
|
||||
},
|
||||
"register": {
|
||||
"title": "Register",
|
||||
@@ -388,7 +399,125 @@
|
||||
"deleteConfirmBody": "Delete “{name}”? This cannot be undone.",
|
||||
"secretsRequired": "Access Key and Secret Key are required for new storage",
|
||||
"manageStorage": "Manage object storage",
|
||||
"manageStorageHint": "Configure R2 / S3 / COS backends and URL serving"
|
||||
"manageStorageHint": "Configure R2 / S3 / COS backends and URL serving",
|
||||
"backup": {
|
||||
"sectionTitle": "Backup & migration",
|
||||
"sectionSubtitle": "Full-site backup, restore, and cross-backend image migration",
|
||||
"siteTitle": "Site backup & restore",
|
||||
"siteSubtitle": "For migration, disaster recovery, and full-site restore",
|
||||
"siteFooterHint": "Backups include the database and images, not plain-text secret_json.",
|
||||
"exportTitle": "Create site backup",
|
||||
"exportSubtitle": "Package the database and all images as .phost.tar.gz",
|
||||
"exportAction": "Start backup",
|
||||
"exportStarted": "Backup job started",
|
||||
"exportFailed": "Failed to start backup",
|
||||
"exportPathHint": "Exports are saved under data/backups/",
|
||||
"exportIncludesTitle": "Package includes",
|
||||
"exportIncludesDb": "Database snapshot (pichost.db)",
|
||||
"exportIncludesImages": "All image files ({count})",
|
||||
"exportExcludesSecrets": "Excludes plain-text secret.json for cloud storage",
|
||||
"exportConcurrencyHint": "Only one backup or migration job can run at a time",
|
||||
"estimateLoading": "Estimating size…",
|
||||
"estimateImageCountLabel": "Images",
|
||||
"estimatePackageSizeLabel": "Est. package",
|
||||
"estimateDatabaseSnapshotLabel": "Database snapshot",
|
||||
"estimateStoragePathLabel": "Save location",
|
||||
"estimateStoragePathValue": "data/backups/",
|
||||
"estimateImages": "{count} images · {size}",
|
||||
"estimateDatabase": "Database ~{size}",
|
||||
"estimateTotal": "Total ~{size}",
|
||||
"restoreTitle": "Restore from backup",
|
||||
"restoreSubtitle": "Upload or pick a .phost.tar.gz on the server, preview, then confirm",
|
||||
"restoreUpload": "Choose backup file",
|
||||
"restoreUploadLabel": "Upload from device",
|
||||
"restoreUploadHint": "Click to select a .phost.tar.gz backup",
|
||||
"restoreUploadAction": "Upload & restore",
|
||||
"restoreServerAction": "Server backup",
|
||||
"restoreServerPackages": "Server backups",
|
||||
"restoreServerSelectPlaceholder": "Select a backup",
|
||||
"restorePreview": "Preview",
|
||||
"restorePreviewConfirm": "Preview & confirm",
|
||||
"restoreConfirm": "Confirm restore",
|
||||
"restoreConfirmTitle": "Confirm site restore",
|
||||
"restoreConfirmSource": "Source: {name}",
|
||||
"restoreOverwriteWarning": "Overwrite mode replaces conflicting images and the database. Ensure you have a current backup.",
|
||||
"restoreSelectRequired": "Select or upload a backup file",
|
||||
"restoreStarted": "Restore job started",
|
||||
"restoreFailed": "Restore failed",
|
||||
"conflictMode": "Conflict policy",
|
||||
"conflictSkip": "Skip existing images",
|
||||
"conflictOverwrite": "Overwrite existing images and database",
|
||||
"syncTitle": "Cross-backend sync",
|
||||
"syncMigrateTitle": "Cross-backend migration",
|
||||
"syncMigrateSubtitle": "Migrate images between configured backends",
|
||||
"syncSubtitle": "Copy images between configured backends and update the index",
|
||||
"syncFrom": "Source backend",
|
||||
"syncTo": "Target backend",
|
||||
"syncPendingImages": "Images to migrate",
|
||||
"syncPendingSize": "Est. size",
|
||||
"syncIncludesTitle": "What sync does",
|
||||
"syncIncludesCopy": "Copy image files from source to target backend",
|
||||
"syncIncludesIndex": "Update storage_backend_id in the index",
|
||||
"syncIncludesConfig": "Site settings and other backends are unchanged",
|
||||
"syncDryRun": "Dry run only",
|
||||
"syncSetDefaultAfter": "Set target as default after migration",
|
||||
"syncStartMigrate": "Start migration",
|
||||
"syncPreviewOnly": "Preview",
|
||||
"syncFooterHint": "Only image files and index are migrated; site settings are unchanged.",
|
||||
"syncDeleteSource": "Delete source files after sync",
|
||||
"syncSetDefault": "Set target as default after sync",
|
||||
"syncPreview": "Preview & start",
|
||||
"syncConfirm": "Start sync",
|
||||
"syncConfirmTitle": "Confirm cross-backend sync",
|
||||
"syncDeleteWarning": "Source files will be deleted. This cannot be undone.",
|
||||
"syncSelectRequired": "Select source and target backends",
|
||||
"syncSameBackend": "Source and target must differ",
|
||||
"syncStarted": "Sync job started",
|
||||
"syncFailed": "Sync failed",
|
||||
"previewFailed": "Preview failed",
|
||||
"previewImages": "Images",
|
||||
"previewNew": "New images",
|
||||
"previewConflicts": "Conflicts",
|
||||
"previewCreated": "Backup created",
|
||||
"previewSize": "Data size",
|
||||
"jobsTitle": "Recent jobs",
|
||||
"jobsSubtitle": "Track backup, restore, and migration progress",
|
||||
"jobsEmpty": "No backup or migration jobs yet",
|
||||
"jobsEmptyHint": "Progress appears here after export, restore, or sync starts",
|
||||
"jobsUnit": "jobs",
|
||||
"colTask": "Task",
|
||||
"colType": "Type",
|
||||
"colStatus": "Status",
|
||||
"colProgress": "Progress",
|
||||
"colMessage": "Message",
|
||||
"colCreated": "Created",
|
||||
"colActions": "Actions",
|
||||
"jobTypeExport": "Site export",
|
||||
"jobTypeRestore": "Site restore",
|
||||
"jobTypeSync": "Cross-backend sync",
|
||||
"statusPending": "Pending",
|
||||
"statusRunning": "Running",
|
||||
"statusDone": "Done",
|
||||
"statusFailed": "Failed",
|
||||
"jobFailedUnknown": "Unknown error",
|
||||
"download": "Download",
|
||||
"jobView": "View",
|
||||
"retry": "Retry",
|
||||
"retryStarted": "Retry started",
|
||||
"retryFailed": "Retry failed",
|
||||
"jobRunning": "Another job is already running. Try again later.",
|
||||
"migrateIn": "Migrate in",
|
||||
"migrateOut": "Migrate out",
|
||||
"migrateInHint": "Copy images from the default backend to this one",
|
||||
"migrateOutHint": "Move images out of this backend",
|
||||
"syncDraftApplied": "Sync form prefilled — review and start when ready",
|
||||
"syncNeedTwoBackends": "At least two storage backends are required to sync",
|
||||
"selectBackend": "Select backend",
|
||||
"syncConfirmRoute": "{from} → {to}",
|
||||
"cancel": "Cancel",
|
||||
"cancelDone": "Job cancelled",
|
||||
"cancelFailed": "Failed to cancel job"
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
"title": "Gallery",
|
||||
|
||||
Reference in new issue
Block a user