Files
SpineViewer/SpineThumbnailGenerateServer/_locales/en.json
T
2026-11-06 14:11:49 +08:00

146 lines
8.9 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"manifest": {
"app": {
"name": "Spine Thumbnails"
}
},
"thumb": {
"title": "Spine Thumbnails",
"noticeIntro": "Feature: After importing Spine assets (.skel / .json + .atlas + textures), this plugin generates a skeleton preview for items that do not yet have a thumbnail.",
"noticeSafety": "1. Automatic generation is off by default and must be enabled below. It only processes items newly imported in this run and never overwrites custom thumbnails that are already set.",
"noticeCompound": "2. For items with compound suffixes, Eagle name/type fields are adjusted only after the current and new values are confirmed. Original values are saved and can be restored.",
"autoToggle": "Generate thumbnails on import",
"clear": "Clear log",
"restoreNames": "Restore names/types",
"compoundConfirmTitle": "Confirm compound suffix change",
"compoundConfirmIntro": "Because compound-suffix files require special handling, Eagle must adjust the name and type fields for these items so the generated thumbnails can be displayed. Original values will be saved and can be restored from this plugin.",
"compoundOldValue": "Current",
"compoundNewValue": "New",
"compoundSkip": "Skip and continue",
"compoundConfirm": "Apply changes",
"compoundConfirmSelected": "Apply selected ({count})",
"compoundSkipped": "Skipped {label}: compound suffix change was not approved",
"compoundSourceMismatch": "Skipped {label}: Eagle name {current} does not match source file {source}",
"compoundCheckFailed": "Could not check the compound suffix for {label}: {error}",
"compoundNeedsConfirmation": "Skipped {label}: fields changed after confirmation; select it again for a new review",
"compoundBackupUnavailable": "Compound suffixes cannot be changed because the original values could not be saved",
"compoundRolledBack": "Thumbnail generation failed; restored the name and type for {label}",
"compoundRollbackFailed": "Thumbnail generation failed and {label} could not be restored automatically: {error}",
"restoreEmpty": "There are no saved name/type changes to restore",
"restoreTitle": "Select items to restore",
"restoreIntro": "These items have saved original values. All restorable items are selected by default; items changed by the user or unavailable for reading cannot be selected.",
"restoreCurrent": "Current",
"restoreTarget": "Restore to",
"restoreStatusReady": "Item was modified to {fields}",
"restoreStatusAlreadyOriginal": "Already has the original value; confirming will only remove the backup",
"restoreStatusChanged": "Current fields were changed by the user; this item will be skipped",
"restoreStatusMissing": "Item not found and cannot be restored",
"restoreStatusError": "Current values could not be read and cannot be restored",
"restoreCancel": "Cancel",
"restoreSelected": "Restore selected ({count})",
"restoreComplete": "Restore complete: {success} succeeded, {skipped} skipped, {failed} failed.",
"restoreFailed": "Failed to restore names/types: {error}",
"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}%)"
}
}