Files
SpineViewer/_locales/ru_RU.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
6.7 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",
"skin": "Скин",
"play": "▶ Воспроизвести",
"pause": "⏸ Пауза",
"static": "▮ Статично",
"staticLabel": "Статично",
"playPauseTitle": "Воспроизведение / пауза (пробел)",
"loop": "Повтор",
"speed": "Скорость",
"pma": "Премультипликация",
"pmaTitle": "Для текстур, экспортированных с Premultiplied Alpha (PMA)",
"background": "Фон",
"backgroundTitle": "Шахматный фон 50×50: следует за сдвигом и масштабом холста и участвует в режимах смешивания",
"thumbnail": "Сделать миниатюрой элемента",
"thumbnailTitle": "Установить текущий кадр как пользовательскую миниатюру 400×400 для этого элемента",
"versionTitle": "Версия Spine",
"reloadTitle": "Перезагрузить папку",
"animationList": "Список анимаций",
"animations": "Анимации",
"errorTitle": "Просмотр невозможен",
"durationPlaceholder": "Длительность --",
"keyframesLegend": "Синие метки: ключевые кадры",
"keyframesLegendTitle": "Синяя метка отмечает момент, в котором есть ключевой кадр хотя бы у одного свойства кости, слота или ограничения",
"keyframesHint": "Синие метки обозначают ключевые кадры; наведите курсор, чтобы увидеть время и кадр",
"timePlaceholder": "0.00 / 0.00 с · 0 / 0 кадров",
"staticPoseTitle": "Статичная поза · кадр 1",
"keyframeTitle": "Ключевой кадр · {time} · кадр {frame}",
"timelineStatic": "Статично · 1 кадр",
"timelineDuration": "Длительность {time} · {frames} кадров",
"readoutStatic": "Статично · 1 / 1 кадров",
"readout": "{time} / {total} · {frame} / {totalFrames} кадров",
"rulerStatic": "0 с (статично)",
"seconds": "{value} с",
"imagePreview": "Просмотр изображения (подходящие ресурсы Spine не найдены)",
"generating": "Создание и обновление миниатюры Eagle…",
"thumbUpdated": "Миниатюра Eagle обновлена · {format} {size}KB",
"thumbWrittenNoRefresh": "Миниатюра записана, но автообновление не удалось: {error}",
"recentered": "Холст возвращён в центр",
"pmaOn": "Премультипликация включена",
"pmaOff": "Премультипликация выключена",
"pmaRemembered": "{state} · сохранено для этого ресурса",
"pmaSaveFailed": "Переключено, но сохранить настройку не удалось: {error}",
"badgeFailed": "Не удалось загрузить значок Spine",
"runtimeFailed": "Не удалось загрузить среду выполнения Spine: {file}",
"compoundName": "Eagle ещё не синхронизировал составное расширение. Откройте библиотеку заново",
"txtRegistered": "Этот элемент всё ещё зарегистрирован как TXT. Пересоздайте миниатюру в Eagle и откройте библиотеку заново",
"apiHttp": "Eagle API вернул HTTP {status}",
"noSkeletonForThumb": "Скелет не загружен — невозможно создать миниатюру",
"noItemId": "Не удалось определить ID элемента Eagle по пути к ресурсу",
"itemMismatch": "Файл предпросмотра не соответствует элементу Eagle; обновление миниатюры отменено",
"replaceCustomThumbnailConfirm": "У этого элемента уже есть пользовательская миниатюра. При продолжении она будет заменена, и плагин не сможет автоматически восстановить прежнее изображение. Продолжить?",
"thumbnailFailed": "Не удалось создать миниатюру: {error}",
"imageLoadFailed": "Не удалось загрузить изображение",
"settingsNotReady": "Настройки ресурса ещё не готовы",
"noSkeletonFile": "Файл скелета не найден",
"noSkeletonFileMsg": "Не удалось найти файл скелета Spine (.skel / .skel.bytes / .json), соответствующий выбранному файлу.\n\nИмпортируйте весь набор экспорта Spine в Eagle.",
"noAtlas": "Atlas не найден",
"noAtlasMsg": "Не удалось найти соответствующий файл .atlas / .atlas.txt.",
"unsupportedVersion": "Неподдерживаемая версия",
"unsupportedVersionMsg": "Неизвестная версия Spine: {version}\nПоддерживаемые версии: {list}",
"unknownVersion": "неизвестно",
"runtimeLoadFailed": "Не удалось загрузить среду выполнения",
"atlasLoadFailed": "Не удалось загрузить atlas",
"emptySkeleton": "Пустые данные скелета",
"emptySkeletonMsg": "Не удалось прочитать корректные данные скелета.",
"missingFile": "Файл отсутствует",
"missingFileMsg": "Параметр пути к файлу не передан.",
"fileNotExist": "Файл не существует",
"loadFailed": "Не удалось загрузить",
"notSpineText": "Этот файл не является ресурсом Spine в формате .atlas.txt или .skel.bytes.",
"truncated256": "\n\n(показаны только первые 256 КБ)",
"truncated1m": "\n\n(файл большой, показан только первый 1 МБ)"
}
}