feat(studio): run nitro scans in the background with cancel-re-attach and nightly auto-clean
This commit is contained in:
1 parent
9d571e0c29
commit
6c53f4680c
14 files changed
+1547
-303
No files matched your search
@@ -6497,6 +6497,78 @@
|
||||
},
|
||||
"admin": {
|
||||
"studio": {
|
||||
"nitroCleanup": {
|
||||
"alreadyRunning": "A scan is already running — attached to it.",
|
||||
"ageUnknown": "age unknown",
|
||||
"ageBelow": "< 1d",
|
||||
"scanButton": "Scan furniture assets",
|
||||
"scanningAssets": "Scanning assets…",
|
||||
"cancelButton": "Cancel",
|
||||
"deleteSelected": "Delete selected ({count})",
|
||||
"deleting": "Deleting…",
|
||||
"redownloadBroken": "Re-download broken",
|
||||
"redownloading": "Re-downloading…",
|
||||
"autoClean": "Auto-clean old fakes",
|
||||
"cleaning": "Cleaning…",
|
||||
"exportManifest": "Export manifest",
|
||||
"exporting": "Exporting…",
|
||||
"phaseStems": "Loading furniture stems…",
|
||||
"phaseReaddir": "Reading asset directories…",
|
||||
"phaseValidate": "Validating .nitro bundles…",
|
||||
"phaseScanning": "Scanning…",
|
||||
"scanProgressFiles": "{count} files",
|
||||
"repairProgress": "ok {ok}, failed {failed}",
|
||||
"attachedNotice": "Scan continues in the background — results will appear when it finishes.",
|
||||
"sessionCancelled": "Scan cancelled.",
|
||||
"onlyOldLabel": "Only show files older than",
|
||||
"onlyOldAgeLabel": "Minimum age in days to display",
|
||||
"onlyOldToggle": "Hide recent files",
|
||||
"daysLabel": "days",
|
||||
"autoAgeLabel": "Minimum age in days for auto-clean",
|
||||
"loadingResult": "Loading scan result…",
|
||||
"scannedStat": "asset files scanned",
|
||||
"cachedNotice": "(cached — directories unchanged)",
|
||||
"fakeStat": "Fake nitros (no matching item)",
|
||||
"brokenStat": "Broken nitros (unparseable)",
|
||||
"groupEmpty": "None found",
|
||||
"selectedCount": "{count} selected",
|
||||
"copiesBadge": "{count} copies",
|
||||
"groupFakeLabel": "Fake nitros",
|
||||
"groupFakeDescription": "These files match no item in items_base — leftovers from deleted or renamed furniture.",
|
||||
"groupBrokenLabel": "Broken nitros",
|
||||
"groupBrokenDescription": "These files belong to an item but cannot be parsed as a valid Nitro bundle.",
|
||||
"groupSwfLabel": "Orphaned SWFs",
|
||||
"groupSwfDescription": ".swf files that match no item in items_base.",
|
||||
"groupIconLabel": "Orphaned icons",
|
||||
"groupIconDescription": "Icon files that match no item in items_base.",
|
||||
"warningText": "Deleting a broken .nitro leaves its item in the database without a bundle — prefer re-downloading it, or let the catalog audit re-obtain it later. Database rows are never removed by this tool.",
|
||||
"onlyAssetsTouched": "Only asset files are touched — FurnitureData.json and database rows stay intact.",
|
||||
"emptyHint": "Scan every furni asset directory to find fake and broken nitro bundles plus orphaned SWFs and icons. Delete them, re-download the broken ones, or auto-clean old leftovers.",
|
||||
"noResult": "No scan result yet — run a furniture asset scan first.",
|
||||
"scanFailed": "The scan failed.",
|
||||
"confirmDeleteTitle": "Delete {count} asset file(s)?",
|
||||
"confirmDeleteDescription": "The files will be removed from every directory (public + mirrored gamedata). Database rows are never touched.",
|
||||
"confirmDeleteLabel": "Delete",
|
||||
"confirmRepairTitle": "Re-download {count} broken .nitro bundle(s)?",
|
||||
"confirmRepairDescription": "The bundles will be fetched again from the configured nitro sources and written over every directory (public + mirrored gamedata).",
|
||||
"confirmRepairLabel": "Re-download",
|
||||
"confirmAutoCleanTitle": "Auto-clean fake nitros older than {days} day(s)?",
|
||||
"confirmAutoCleanDescription": "Only fake .nitro files (no matching item) older than the threshold are removed. Broken bundles and recent files are never touched.",
|
||||
"confirmAutoCleanLabel": "Auto-clean",
|
||||
"toastDeletePartial": "Deleted {copies} copy/copies, but some files could not be removed",
|
||||
"toastDeleteDone": "Deleted {copies} file copy/copies ({deleted} file(s))",
|
||||
"toastRepairDone": "Repaired {count} .nitro bundle(s)",
|
||||
"toastRepairFailed": "Could not re-obtain any bundle ({failed} failed)",
|
||||
"toastRepairCancelled": "Repair cancelled",
|
||||
"toastAutoCleanDone": "Auto-cleaned {deleted} old fake .nitro file(s) ({copies} copies). Skipped {recent} recent + {broken} broken.",
|
||||
"toastAutoCleanNothing": "Nothing old enough to remove (skipped {recent} recent, {broken} broken)",
|
||||
"toastManifestDownload": "Scan manifest downloaded",
|
||||
"historyTitle": "Auto-clean history",
|
||||
"historyScheduled": "scheduled",
|
||||
"historyManual": "manual",
|
||||
"historyEntry": "{deleted} removed ({copies} copies); {recent} recent and {broken} broken skipped",
|
||||
"historyErrors": "{count} errors"
|
||||
},
|
||||
"importDiagnostics": {
|
||||
"attempts": "Source file diagnostics",
|
||||
"preliminary": "Preliminary check: these addresses were checked without downloading the files. The import will validate the original files.",
|
||||
|
||||
Reference in new issue
Block a user