八国语言+eagle图片

This commit is contained in:
tianmo committed 2026-10-29 11:02:01 +08:00
1 parent acc93d5404
commit 3bd3ba7404
46 files changed
+2520 -290

No files matched your search

@@ -0,0 +1,117 @@
{
"manifest": {
"app": {
"name": "Spine Thumbnails"
}
},
"thumb": {
"title": "Spine Thumbnails",
"noticeIntro": "After importing Spine assets (.skel / .json + .atlas + textures), this plugin creates a skeleton preview for items that do not yet have a custom thumbnail.",
"noticeSafety": "Only newly imported items are processed. Existing items are not scanned or changed, and custom thumbnails are never overwritten.",
"noticeModes": "Animated uses the first animation and exports WebP. Still always uses the setup pose.",
"noticeDefault": "Automatic generation is off by default. Enable it below when needed.",
"autoToggle": "Generate thumbnails on import",
"clear": "Clear log",
"modeLabel": "Generation mode",
"modeAnimated": "Animated (first animation)",
"modeStatic": "Still (setup pose)",
"strategyLabel": "Strategy",
"strategySize": "Smallest file (slow)",
"strategySpeed": "Fastest (quick)",
"statusLabel": "Status",
"statusStarting": "Starting…",
"libraryLabel": "Library",
"statsLabel": "Statistics",
"filterAll": "All",
"filterOk": "Success",
"filterFail": "Failed",
"filterWarn": "Warning",
"filterError": "Error",
"unknownError": "Unknown error",
"scriptError": "Script error: {error}",
"promiseError": "Unhandled Promise error: {error}",
"uncategorized": "Uncategorized",
"reasonQuiet": "quiet",
"reasonFallback": "fallback scan",
"none": "none",
"complete": "complete",
"incomplete": "incomplete",
"statusLoaded": "Script {version} loaded; waiting for Eagle events…",
"statusEagleMissing": "Eagle API not available",
"statusListening": "Watching",
"statusListenFailed": "Watch failed",
"statusAutoOff": "Watching (automatic generation off)",
"statusNoLibrary": "Library path unavailable",
"statusPairing": "Pairing new assets…",
"statusPairingProgress": "Pairing {current}/{total}",
"statusRendering": "Rendering frame {current}/{total} ({queued} queued)",
"statusGenerating": "Generating thumbnails… {queued} remaining",
"statusPaused": "Paused (resume or cancel in the progress window)",
"statusAutoSkipped": "Automatic generation is off; this batch was skipped",
"statusStartFailed": "Startup failed: {error}",
"stats": "Batches {batches} · Added {added} · Spine {spine} · Complete {complete} · Generated {generated} · Skipped {skipped} · Failed {failed}",
"modulesMissing": "Local modules not loaded: {modules}",
"moduleLoadError": "Local modules were not loaded. Check the script order in index.html: {modules}",
"version": "Plugin code version {version}",
"pluginCreated": "Plugin created: {name}",
"settingsReadFailed": "Failed to read settings; using defaults (automatic generation off): {error}",
"settingsSaveFailed": "Failed to save settings: {error}",
"autoEnabled": "Automatic generation enabled. Newly imported Spine assets will receive thumbnails.",
"autoDisabled": "Automatic generation disabled; the pending queue was cleared.",
"modeStaticLog": "Generation mode: still (setup pose, PNG)",
"modeAnimatedLog": "Generation mode: animated (first animation as WebP; setup pose if no animation exists)",
"strategySpeedLog": "Strategy: fastest (estimate profiles and render only the smallest one or two)",
"strategySizeLog": "Strategy: smallest file (render all ten profiles and keep the smallest result)",
"missingItem": "Skipped {label}: item not found in Eagle",
"suffixFixed": "Fixed compound suffix for {label} → {name}",
"suffixFailed": "Failed to fix compound suffix for {label}: {error}",
"existingThumbnail": "Skipped {label}: a custom thumbnail already exists",
"thumbnailRejected": "Eagle rejected this thumbnail",
"generated": "Generated {label} | {details} | Spine {version}",
"generateFailed": "Generation failed for {label}: {error}",
"cancelled": "Generation cancelled: discarded {dropped} pending items. Completed {done} (success {generated}, failed {failed}, skipped {skipped})",
"batchFailed": "Failed to process import batch: {error}",
"batchFinished": "Batch finished: {added} added, {total} in library ({reason})",
"recheck": "Rechecking {count} previously incomplete assets",
"noSpine": "No Spine assets in this batch",
"incompletePending": "{count} assets are incomplete and will be rechecked after later imports",
"incompleteIgnored": "{count} assets are incomplete and were not processed",
"itemSummary": " {name} | {path} | {state} | skeleton {skeleton} | atlas {atlas} | pages {pages} (missing {missing})",
"autoSkipped": "Automatic generation is off; skipped {count} assets in this batch",
"queued": "Queued {added}; {queued} waiting{state}",
"queuedRunning": " (processing)",
"libraryInfoNoPath": "library.info() did not return a path: {info}",
"libraryInfoFailed": "library.info() failed: {error}",
"switchingLibrary": "Switching library: {path}",
"noCreateEvent": "No plugin-create event received; trying to start directly",
"watching": "Watching {path} ({count} existing items treated as history)",
"watchReadFailed": "Failed to read the asset directory: {error}",
"watchMissingDir": "Asset directory does not exist: {path}",
"watchFailed": "Failed to start watching: {error}",
"fixSuffixAction": "Fixing compound suffix for {label}",
"renderAction": "Rendering {label}",
"setThumbnailAction": "Setting thumbnail for {label}",
"thumbnailDetailsAnimated": "Animated {size}@{fps}fps/q{quality}/{kb}KB (target {target}KB)/{frames} frames/animation {animation}/{strategy}{limit}",
"thumbnailDetailsStatic": "Still {width}×{height}/{kb}KB{fallback}",
"bestSpeed": "fastest",
"bestSize": "smallest file",
"fallbackNote": " ({text})",
"fallbackNoAnimation": "the skeleton has no animations",
"fallbackAnimatedFailed": "animated generation failed: {error}",
"limitNote": " (the smallest profile still exceeds the target; consider a larger thumbnail size)",
"runSummary": "{generated} succeeded, {failed} failed, {skipped} skipped in {seconds} seconds."
},
"progress": {
"title": "Spine Thumbnails",
"generating": "Generating animated thumbnails…",
"waiting": "Waiting to start…",
"confirmPrompt": "Cancel this run?",
"resume": "Continue",
"cancel": "Confirm cancel",
"stop": "Stop",
"confirm": "Done",
"generatedConfirm": "{done} thumbnails generated. Cancel this run?",
"complete": "Complete",
"completed": "Completed {done} / {total} ({percent}%)"
}
}