refactor: 重构设置、API、图库与存储页面前端结构。
将操作日志并入设置侧栏,补齐检查更新提示与版本接口刷新;拆分各模块组件并修复图库搜索分页变量。
This commit is contained in:
1 parent
270af4e707
commit
ac65c1eb9d
51 files changed
+5119
-2059
No files matched your search
+182
-5
@@ -149,11 +149,13 @@
|
||||
"url": "URL",
|
||||
"markdown": "Markdown",
|
||||
"html": "HTML",
|
||||
"bbcode": "BBCode",
|
||||
"copied": "Copied to clipboard",
|
||||
"copiedLabel": "Copied {label}",
|
||||
"copiedUrl": "URL copied",
|
||||
"copiedMarkdown": "Markdown copied",
|
||||
"copiedHtml": "HTML copied",
|
||||
"copiedBbcode": "BBCode copied",
|
||||
"copiedFormat": "Copied {format}",
|
||||
"failed": "Copy failed",
|
||||
"failedManual": "Copy failed — select the link manually",
|
||||
@@ -181,12 +183,39 @@
|
||||
},
|
||||
"settings": {
|
||||
"title": "System settings",
|
||||
"pageTitle": "Settings & preferences",
|
||||
"pageSubtitle": "Manage system configuration and activity logs",
|
||||
"pageSubtitleBasic": "Manage system configuration and upload preferences",
|
||||
"navBasic": "Basic",
|
||||
"navDomains": "Domains & paths",
|
||||
"navAccess": "Access control",
|
||||
"navPreferences": "Preferences",
|
||||
"navLogs": "Activity log",
|
||||
"systemVersion": "Version",
|
||||
"checkUpdate": "Check for updates",
|
||||
"saveSettings": "Save settings",
|
||||
"subtitle": "Saved to database; environment variables take precedence",
|
||||
"featureToggles": "Feature toggles",
|
||||
"featureTogglesHint": "Control registration and system behavior",
|
||||
"pathAndLink": "Paths & links",
|
||||
"pathAndLinkHint": "Control image URL format and upload directory structure",
|
||||
"domainSeparationSection": "Domain separation",
|
||||
"allowRegistration": "Open registration",
|
||||
"allowRegistrationHint": "Allow new users to register (regular users see only their images)",
|
||||
"accessControl": "Access control",
|
||||
"refererHint": "Referer hotlink protection; comma-separated hostnames, empty = no restriction",
|
||||
"refererDomainsLabel": "Allowed domains",
|
||||
"refererTip": "Separate multiple domains with commas (,); wildcards are not supported",
|
||||
"refererExamplesTitle": "Example",
|
||||
"refererExamplesSample": "example.com, static.example.com",
|
||||
"refererScenarioTitle": "Common use case",
|
||||
"refererScenarioDesc": "Allow your main site and static site to embed images",
|
||||
"refererEnabled": "Enabled",
|
||||
"refererUnrestricted": "Unrestricted",
|
||||
"systemInfo": "System",
|
||||
"systemInfoHint": "Current version and updates",
|
||||
"uploadConvenience": "Upload convenience",
|
||||
"defaultCopyFormat": "Default copy format",
|
||||
"refererPlaceholder": "example.com, www.example.com",
|
||||
"domainSettings": "Domain settings",
|
||||
"domainSeparationActive": "Domain separation enabled: image host serves images only; site host serves admin and API",
|
||||
@@ -214,12 +243,15 @@
|
||||
"badgeSaved": "Saved",
|
||||
"badgeDefault": "Default",
|
||||
"badgeUnset": "Not set",
|
||||
"badgeOptional": "Optional",
|
||||
"tokenEnv": "Environment",
|
||||
"tokenDb": "Generated in app",
|
||||
"tokenNone": "Not configured",
|
||||
"apiTokenLine": "API Token · {source} ·",
|
||||
"apiTokenLine": "Source: {source}",
|
||||
"viewReleases": "View releases",
|
||||
"updateAvailable": "Update available: {version}",
|
||||
"upToDate": "You are on the latest version",
|
||||
"checkUpdateFailed": "Failed to check for updates. Please try again later",
|
||||
"unsavedChanges": "Unsaved changes",
|
||||
"manageToken": "Manage token",
|
||||
"envOverride": "Overridden by environment variable; cannot edit in UI",
|
||||
@@ -278,11 +310,36 @@
|
||||
"servingPublicShort": "Public",
|
||||
"backendName": "Display name",
|
||||
"badgeDefault": "Default",
|
||||
"badgeDefaultStorage": "Default storage",
|
||||
"badgeDisabled": "Disabled",
|
||||
"badgeEnabled": "Enabled",
|
||||
"overviewTitle": "Storage overview",
|
||||
"overviewSubtitle": "Usage across all storage backends",
|
||||
"overviewTotal": "Total capacity",
|
||||
"overviewUsed": "Used",
|
||||
"overviewFree": "Free",
|
||||
"overviewUsageRate": "Overall usage",
|
||||
"overviewQuota": "Total quota",
|
||||
"overviewInstances": "Backends",
|
||||
"overviewActive": "Active",
|
||||
"capacityDistribution": "Distribution",
|
||||
"backendType": "Type",
|
||||
"storageId": "Storage ID",
|
||||
"storageType": "Storage type",
|
||||
"badgeLocal": "Local",
|
||||
"defaultStorageTip": "Default storage: new uploads are saved to “{name}”. Use “Set as default” on another backend to change this.",
|
||||
"supportedTitle": "Supported backends",
|
||||
"supportedSubtitle": "PicHost supports multiple storage backends for different scenarios",
|
||||
"supportedLocalDesc": "Ideal for small deployments and personal use",
|
||||
"supportedR2Desc": "Highly available, low-cost object storage",
|
||||
"supportedS3Title": "S3 compatible",
|
||||
"supportedS3Desc": "Storage services compatible with the Amazon S3 API",
|
||||
"footerTip": "The default backend receives all new uploads",
|
||||
"statTotal": "Total",
|
||||
"statUsed": "Used",
|
||||
"statFree": "Free",
|
||||
"statFileCount": "Files",
|
||||
"statQuota": "Quota",
|
||||
"usageRate": "Usage",
|
||||
"indexImages": "PicHost images {count} · {size}",
|
||||
"setDefault": "Set as default",
|
||||
@@ -313,7 +370,16 @@
|
||||
"uploadToday": "Uploaded today",
|
||||
"uploadMonth": "Uploaded this month",
|
||||
"uploadTotal": "Total uploads",
|
||||
"storedCount": "Stored images",
|
||||
"storedCount": "Stored now",
|
||||
"totalFiles": "Total files",
|
||||
"totalOccupied": "{size} used",
|
||||
"storageUsage": "Storage usage",
|
||||
"noQuota": "No quota configured",
|
||||
"vsYesterday": "vs yesterday",
|
||||
"vsLastMonth": "vs last month",
|
||||
"trendUp": "↑ {p}%",
|
||||
"trendDown": "↓ {p}%",
|
||||
"trendFlat": "flat",
|
||||
"deleteToday": "Deleted today",
|
||||
"deleteMonth": "Deleted this month",
|
||||
"deleteTotal": "Total deleted",
|
||||
@@ -322,15 +388,39 @@
|
||||
"sourceDistribution": "Uploads by source",
|
||||
"sourceWeb": "Web",
|
||||
"sourceApi": "API",
|
||||
"tagWeb": "Web",
|
||||
"tagApi": "API",
|
||||
"noData": "No data",
|
||||
"gallery": "Gallery",
|
||||
"imagesSection": "All images",
|
||||
"filterStorageAll": "All storage",
|
||||
"storage": "Storage",
|
||||
"searchPlaceholder": "Search filename",
|
||||
"searchPlaceholderWide": "Search filename, tags, or links",
|
||||
"filterType": "Image type",
|
||||
"filterTypeAll": "All types",
|
||||
"filterSource": "Upload source",
|
||||
"filterSourceAll": "All sources",
|
||||
"sourceWeb": "Web upload",
|
||||
"sourceApi": "API upload",
|
||||
"resetFilters": "Reset",
|
||||
"batchActions": "Bulk actions",
|
||||
"selectedItems": "{n} selected",
|
||||
"colFilename": "Filename",
|
||||
"colPreview": "Preview",
|
||||
"colSize": "Size",
|
||||
"colType": "Type",
|
||||
"colSource": "Source",
|
||||
"colUploadedAt": "Uploaded",
|
||||
"colActions": "Actions",
|
||||
"previewBadge": "Image",
|
||||
"clear": "Clear",
|
||||
"selected": "{n} selected",
|
||||
"batchDelete": "Delete selected",
|
||||
"batchSelect": "Batch select",
|
||||
"viewMode": "View mode",
|
||||
"viewGrid": "Grid view",
|
||||
"viewList": "List view",
|
||||
"selectAll": "Select all",
|
||||
"invertSelection": "Invert",
|
||||
"clearSelection": "Clear selection",
|
||||
@@ -378,19 +468,23 @@
|
||||
"previewFailed": "Preview failed",
|
||||
"openPreview": "View full image",
|
||||
"previewTitle": "Image details",
|
||||
"previewSubtitle": "View image info and links",
|
||||
"previewOriginalName": "Filename",
|
||||
"previewUploadedAt": "Uploaded",
|
||||
"previewSize": "Size",
|
||||
"previewContentType": "Type",
|
||||
"previewSizeDetail": "{size} ({bytes} bytes)",
|
||||
"previewContentType": "File type",
|
||||
"previewOwner": "Uploader",
|
||||
"previewStorage": "Storage",
|
||||
"previewKey": "Storage path",
|
||||
"previewKey": "Image path",
|
||||
"previewExtension": "Extension",
|
||||
"previewDimensions": "Dimensions",
|
||||
"previewDimensionsUnknown": "Loading…",
|
||||
"previewUploadSource": "Upload source",
|
||||
"uploadSourceUnknown": "Unknown",
|
||||
"previewLinks": "Links",
|
||||
"previewLinks": "Links & embed",
|
||||
"previewCopyLink": "Copy link",
|
||||
"previewDownload": "Download",
|
||||
"previewOpen": "Open in new tab",
|
||||
"previewClose": "Close",
|
||||
"uploader": "Uploader: {name}",
|
||||
@@ -402,6 +496,11 @@
|
||||
"confirm": "Delete"
|
||||
},
|
||||
"pagination": {
|
||||
"totalCount": "{total} {unit}",
|
||||
"pageStatus": "Page {page} / {totalPages}",
|
||||
"perPage": "{size} / page",
|
||||
"pageSize": "Page size",
|
||||
"pageNumber": "Page {page}",
|
||||
"pageOf": "Page {page} / {totalPages} · {total} {unit}",
|
||||
"totalOnly": "{total} {unit}",
|
||||
"first": "First page",
|
||||
@@ -409,6 +508,8 @@
|
||||
"next": "Next page",
|
||||
"last": "Last page",
|
||||
"goTo": "Go",
|
||||
"goToPrefix": "Go to",
|
||||
"goToSuffix": "",
|
||||
"pagePlaceholder": "Page"
|
||||
},
|
||||
"api": {
|
||||
@@ -437,6 +538,74 @@
|
||||
"newTokenDesc": "Copy and save it now. You can copy again from the field above after closing.",
|
||||
"copyToken": "Copy token",
|
||||
"saved": "Saved",
|
||||
"searchPlaceholder": "Search endpoints…",
|
||||
"showToken": "Show",
|
||||
"hideToken": "Hide",
|
||||
"helpText": "Need help? Read the full API docs",
|
||||
"helpTitle": "Need help?",
|
||||
"helpSubtitle": "Read the full API docs",
|
||||
"expand": "Expand",
|
||||
"collapse": "Collapse",
|
||||
"viewDocs": "View docs",
|
||||
"requestParams": "Request parameters",
|
||||
"paramName": "Name",
|
||||
"paramType": "Type",
|
||||
"paramLocation": "In",
|
||||
"paramRequired": "Required",
|
||||
"paramDescription": "Description",
|
||||
"required": "Yes",
|
||||
"optional": "No",
|
||||
"requestExample": "Request example",
|
||||
"responseExample": "Response example",
|
||||
"categories": {
|
||||
"image": "Images",
|
||||
"extension": "Plugins",
|
||||
"system": "System"
|
||||
},
|
||||
"params": {
|
||||
"upload": {
|
||||
"image": "Primary upload field",
|
||||
"file": "Compatibility field, single file",
|
||||
"files": "Compatibility field, multiple files",
|
||||
"token": "Twikoo protocol form token"
|
||||
},
|
||||
"list": {
|
||||
"limit": "Page size, default 20, max 100",
|
||||
"page": "Page number, starts at 1"
|
||||
},
|
||||
"search": {
|
||||
"q": "Search keyword, required"
|
||||
},
|
||||
"delete": {
|
||||
"key": "Storage path, e.g. images/2026/08/xxx.webp"
|
||||
},
|
||||
"batchDelete": {
|
||||
"keys": "Array of image keys to delete"
|
||||
},
|
||||
"twikoo": {
|
||||
"image": "Image file",
|
||||
"token": "API token"
|
||||
},
|
||||
"backendId": "Storage backend ID, optional"
|
||||
},
|
||||
"debug": {
|
||||
"title": "Try it",
|
||||
"headers": "Headers",
|
||||
"query": "Query",
|
||||
"body": "Body",
|
||||
"send": "Send request",
|
||||
"response": "Response",
|
||||
"selectFile": "Select file",
|
||||
"noFileSelected": "No file selected",
|
||||
"tokenPlaceholder": "Enter Auth-Token",
|
||||
"invalidJson": "Invalid JSON",
|
||||
"sendFailed": "Request failed",
|
||||
"networkError": "Network error or unreachable",
|
||||
"notesTitle": "Notes",
|
||||
"noteSuccess": "200 means success with JSON body",
|
||||
"noteError": "4xx / 5xx means failure; check error field",
|
||||
"noteLimit": "Upload limit: up to 10 files, 10 MB each"
|
||||
},
|
||||
"docs": {
|
||||
"upload": {
|
||||
"title": "Upload images",
|
||||
@@ -461,6 +630,14 @@
|
||||
"twikoo": {
|
||||
"title": "Twikoo-compatible upload",
|
||||
"desc": "Twikoo / EasyImage 2.0 protocol; stored under images/. Fields: image + token."
|
||||
},
|
||||
"config": {
|
||||
"title": "Get config",
|
||||
"desc": "Public system config; no authentication required."
|
||||
},
|
||||
"count": {
|
||||
"title": "Image count",
|
||||
"desc": "Total images in your visible scope."
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user