Files
SpineViewer/_locales/en.json
T
tianmo bb73cc9227 1.1.1版本审核修复
[spine-utils.js (line 35)](/Users/tianmokeji/Desktop/特效/SpineViewer/SpineViewer/js/spine-utils.js:35) 统一拦截绝对路径、..、Windows 盘符、UNC、URI、控制字符和符号链接越界。
跨素材贴图只能使用已枚举、验证且位于 Eagle 素材目录内的文件。
[spine-render.js (line 62)](/Users/tianmokeji/Desktop/特效/SpineViewer/SpineViewer/js/spine-render.js:62) 已删除未经验证的路径备用拼接。
自动缩略图只写当前回调提供的 dest,不再调用接口改写同组素材。
已删除后台整组补刷进程及 relatedDataPaths。
[viewer/spine.html (line 482)](/Users/tianmokeji/Desktop/特效/SpineViewer/SpineViewer/viewer/spine.html:482) 的手动缩略图只针对当前素材,并核对素材 ID、文件名和扩展名。
当前素材已有自定义缩略图时,会提示替换后无法自动恢复并要求确认。
手动生成的中间文件改存系统临时目录,API 失败时不再直接写 Eagle 素材目录。
八种语言文案及 README 已同步。
处理历史日志遗留问题
2026-09-17 13:38:22 +08:00

82 lines
4.5 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": "SpineViewer"
}
},
"viewer": {
"title": "Spine Preview",
"skin": "Skin",
"play": "▶ Play",
"pause": "⏸ Pause",
"static": "▮ Still",
"staticLabel": "Still",
"playPauseTitle": "Play / pause (Space)",
"loop": "Loop",
"speed": "Speed",
"pma": "Premultiplied",
"pmaTitle": "For textures exported with Premultiplied Alpha (PMA)",
"background": "Background",
"backgroundTitle": "50×50 checkerboard that pans and zooms with the canvas and participates in blend modes",
"thumbnail": "Set current item thumbnail",
"thumbnailTitle": "Set the current frame as this item's 400×400 custom thumbnail",
"versionTitle": "Spine version",
"reloadTitle": "Reload folder",
"animationList": "Animation list",
"animations": "Animations",
"errorTitle": "Cannot preview",
"durationPlaceholder": "Duration --",
"keyframesLegend": "Blue ticks: keyframes",
"keyframesLegendTitle": "A blue tick marks a time where at least one bone, slot or constraint property has a keyframe",
"keyframesHint": "Blue ticks mark animation keyframes; hover a tick to see its time and frame",
"timePlaceholder": "0.00 / 0.00 s · 0 / 0 frames",
"staticPoseTitle": "Still pose · frame 1",
"keyframeTitle": "Keyframe · {time} · frame {frame}",
"timelineStatic": "Still · 1 frame",
"timelineDuration": "Duration {time} · {frames} frames",
"readoutStatic": "Still · 1 / 1 frames",
"readout": "{time} / {total} · {frame} / {totalFrames} frames",
"rulerStatic": "0 s (still)",
"seconds": "{value} s",
"imagePreview": "Image preview (no matching Spine assets found)",
"generating": "Generating and updating the Eagle thumbnail…",
"thumbUpdated": "Eagle thumbnail updated · {format} {size}KB",
"thumbWrittenNoRefresh": "Thumbnail written, but auto-refresh failed: {error}",
"recentered": "Canvas re-centered",
"pmaOn": "Premultiplied alpha on",
"pmaOff": "Premultiplied alpha off",
"pmaRemembered": "{state} · saved for this asset",
"pmaSaveFailed": "Toggled, but saving the setting failed: {error}",
"badgeFailed": "Failed to load the Spine badge",
"runtimeFailed": "Cannot load the Spine runtime: {file}",
"compoundName": "Eagle has not synced the compound extension yet; please reopen the library",
"txtRegistered": "This item is still registered as TXT. Regenerate the thumbnail in Eagle and reopen the library",
"apiHttp": "Eagle API returned HTTP {status}",
"noSkeletonForThumb": "No skeleton loaded; cannot generate a thumbnail",
"noItemId": "Cannot determine the Eagle item ID from the asset path",
"itemMismatch": "The preview file does not match the Eagle item; the thumbnail update was cancelled",
"replaceCustomThumbnailConfirm": "This item already has a custom thumbnail. Continuing will replace it, and the plugin cannot automatically restore the previous image. Continue?",
"thumbnailFailed": "Failed to generate the thumbnail: {error}",
"imageLoadFailed": "Failed to load the image",
"settingsNotReady": "Asset settings are not ready",
"noSkeletonFile": "Skeleton file not found",
"noSkeletonFileMsg": "Could not locate the Spine skeleton file (.skel / .skel.bytes / .json) that matches the selected file.\n\nPlease import the whole Spine export into Eagle.",
"noAtlas": "Atlas not found",
"noAtlasMsg": "Could not locate the matching .atlas / .atlas.txt file.",
"unsupportedVersion": "Unsupported version",
"unsupportedVersionMsg": "Unrecognized Spine version: {version}\nSupported versions: {list}",
"unknownVersion": "unknown",
"runtimeLoadFailed": "Failed to load the runtime",
"atlasLoadFailed": "Failed to load the atlas",
"emptySkeleton": "Empty skeleton data",
"emptySkeletonMsg": "No valid skeleton data could be read.",
"missingFile": "Missing file",
"missingFileMsg": "No file path parameter was provided.",
"fileNotExist": "File not found",
"loadFailed": "Failed to load",
"notSpineText": "This file is not a .atlas.txt or .skel.bytes Spine asset.",
"truncated256": "\n\n(only the first 256 KB is shown)",
"truncated1m": "\n\n(large file, only the first 1 MB is shown)"
}
}