Files
SpineViewer/_locales/es_ES.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
5.1 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": "Vista previa de Spine",
"skin": "Piel",
"play": "▶ Reproducir",
"pause": "⏸ Pausa",
"static": "▮ Estático",
"staticLabel": "Estático",
"playPauseTitle": "Reproducir / pausar (espacio)",
"loop": "Bucle",
"speed": "Velocidad",
"pma": "Premultiplicado",
"pmaTitle": "Para texturas exportadas con Premultiplied Alpha (PMA)",
"background": "Fondo",
"backgroundTitle": "Fondo de cuadros de 50×50 que se desplaza y escala con el lienzo y participa en los modos de fusión",
"thumbnail": "Usar como miniatura actual",
"thumbnailTitle": "Usar el fotograma actual como miniatura personalizada de 400×400 de este elemento",
"versionTitle": "Versión de Spine",
"reloadTitle": "Recargar carpeta",
"animationList": "Lista de animaciones",
"animations": "Animaciones",
"errorTitle": "No se puede previsualizar",
"durationPlaceholder": "Duración --",
"keyframesLegend": "Marcas azules: fotogramas clave",
"keyframesLegendTitle": "Una marca azul señala un instante en el que al menos una propiedad de hueso, ranura o restricción tiene un fotograma clave",
"keyframesHint": "Las marcas azules indican fotogramas clave; pasa el cursor para ver el tiempo y el fotograma",
"timePlaceholder": "0.00 / 0.00 s · 0 / 0 fotogramas",
"staticPoseTitle": "Pose estática · fotograma 1",
"keyframeTitle": "Fotograma clave · {time} · fotograma {frame}",
"timelineStatic": "Estático · 1 fotograma",
"timelineDuration": "Duración {time} · {frames} fotogramas",
"readoutStatic": "Estático · 1 / 1 fotogramas",
"readout": "{time} / {total} · {frame} / {totalFrames} fotogramas",
"rulerStatic": "0 s (estático)",
"seconds": "{value} s",
"imagePreview": "Vista previa de imagen (no se encontraron recursos Spine correspondientes)",
"generating": "Generando y actualizando la miniatura de Eagle…",
"thumbUpdated": "Miniatura de Eagle actualizada · {format} {size}KB",
"thumbWrittenNoRefresh": "Miniatura escrita, pero falló la actualización automática: {error}",
"recentered": "Lienzo centrado de nuevo",
"pmaOn": "Alfa premultiplicado activado",
"pmaOff": "Alfa premultiplicado desactivado",
"pmaRemembered": "{state} · guardado para este recurso",
"pmaSaveFailed": "Se cambió, pero no se pudo guardar la configuración: {error}",
"badgeFailed": "No se pudo cargar el distintivo de Spine",
"runtimeFailed": "No se puede cargar el entorno de ejecución de Spine: {file}",
"compoundName": "Eagle aún no ha sincronizado la extensión compuesta; vuelve a abrir la biblioteca",
"txtRegistered": "Este elemento sigue registrado como TXT. Vuelve a generar la miniatura en Eagle y reabre la biblioteca",
"apiHttp": "La API de Eagle devolvió HTTP {status}",
"noSkeletonForThumb": "No hay esqueleto cargado; no se puede generar la miniatura",
"noItemId": "No se puede determinar el ID del elemento de Eagle a partir de la ruta",
"itemMismatch": "El archivo de vista previa no coincide con el elemento de Eagle; se canceló la actualización de la miniatura",
"replaceCustomThumbnailConfirm": "Este elemento ya tiene una miniatura personalizada. Si continúas, se reemplazará y el complemento no podrá restaurar automáticamente la imagen anterior. ¿Continuar?",
"thumbnailFailed": "No se pudo generar la miniatura: {error}",
"imageLoadFailed": "No se pudo cargar la imagen",
"settingsNotReady": "La configuración del recurso aún no está lista",
"noSkeletonFile": "No se encontró el archivo de esqueleto",
"noSkeletonFileMsg": "No se encontró el archivo de esqueleto de Spine (.skel / .skel.bytes / .json) correspondiente al archivo seleccionado.\n\nImporta el conjunto completo de exportación de Spine en Eagle.",
"noAtlas": "No se encontró el Atlas",
"noAtlasMsg": "No se encontró el archivo .atlas / .atlas.txt correspondiente.",
"unsupportedVersion": "Versión no compatible",
"unsupportedVersionMsg": "Versión de Spine no reconocida: {version}\nVersiones compatibles: {list}",
"unknownVersion": "desconocida",
"runtimeLoadFailed": "Error al cargar el entorno de ejecución",
"atlasLoadFailed": "Error al cargar el atlas",
"emptySkeleton": "Datos de esqueleto vacíos",
"emptySkeletonMsg": "No se pudieron leer datos de esqueleto válidos.",
"missingFile": "Falta el archivo",
"missingFileMsg": "No se proporcionó el parámetro de ruta del archivo.",
"fileNotExist": "El archivo no existe",
"loadFailed": "Error al cargar",
"notSpineText": "Este archivo no es un recurso Spine en formato .atlas.txt o .skel.bytes.",
"truncated256": "\n\n(solo se muestran los primeros 256 KB)",
"truncated1m": "\n\n(archivo grande; solo se muestra el primer 1 MB)"
}
}