diff --git a/SpineThumbnailGenerateServer/_locales/de_DE.json b/SpineThumbnailGenerateServer/_locales/de_DE.json index fa95292..fd40fd3 100644 --- a/SpineThumbnailGenerateServer/_locales/de_DE.json +++ b/SpineThumbnailGenerateServer/_locales/de_DE.json @@ -6,11 +6,9 @@ }, "thumb": { "title": "Spine-Vorschaubilder", - "noticeIntro": "Nach dem Import von Spine-Assets (.skel / .json + .atlas + Texturen) erstellt dieses Plugin eine Skelettvorschau für Elemente ohne eigenes Vorschaubild.", - "noticeSafety": "Nur neu importierte Elemente werden verarbeitet. Vorhandene Elemente werden weder durchsucht noch geändert, und eigene Vorschaubilder werden nie überschrieben.", - "noticeCompound": "Bei Elementen mit zusammengesetzter Endung werden die Felder Name und Typ in Eagle erst nach Bestätigung der aktuellen und neuen Werte geändert. Die Originalwerte werden gespeichert und können wiederhergestellt werden.", - "noticeModes": "Animiert verwendet die erste Animation und exportiert WebP. Statisch verwendet immer die Setup-Pose.", - "noticeDefault": "Die automatische Erstellung ist standardmäßig ausgeschaltet. Aktiviere sie bei Bedarf unten.", + "noticeIntro": "Funktion: Nach dem Import von Spine-Assets (.skel / .json + .atlas + Texturen) erstellt dieses Plugin eine Skelettvorschau für Elemente, die noch kein Vorschaubild haben.", + "noticeSafety": "1. Die automatische Erstellung ist standardmäßig ausgeschaltet und muss unten manuell aktiviert werden. Nur in diesem Lauf neu importierte Elemente werden verarbeitet; bereits festgelegte eigene Vorschaubilder werden nie überschrieben.", + "noticeCompound": "2. Bei Elementen mit zusammengesetzter Endung werden die Felder Name und Typ in Eagle erst nach Bestätigung der aktuellen und neuen Werte geändert. Die Originalwerte werden gespeichert und können wiederhergestellt werden.", "autoToggle": "Beim Import Vorschaubilder erstellen", "clear": "Protokoll leeren", "restoreNames": "Namen/Typen wiederherstellen", diff --git a/SpineThumbnailGenerateServer/_locales/en.json b/SpineThumbnailGenerateServer/_locales/en.json index 89e10d4..ab848f5 100644 --- a/SpineThumbnailGenerateServer/_locales/en.json +++ b/SpineThumbnailGenerateServer/_locales/en.json @@ -6,11 +6,9 @@ }, "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.", - "noticeCompound": "Items with compound suffixes have Eagle name/type fields adjusted only after the current and new values are confirmed. Original values are saved and can be restored.", - "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.", + "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", diff --git a/SpineThumbnailGenerateServer/_locales/es_ES.json b/SpineThumbnailGenerateServer/_locales/es_ES.json index 69c2e54..4aaae29 100644 --- a/SpineThumbnailGenerateServer/_locales/es_ES.json +++ b/SpineThumbnailGenerateServer/_locales/es_ES.json @@ -6,11 +6,9 @@ }, "thumb": { "title": "Miniaturas de Spine", - "noticeIntro": "Después de importar recursos de Spine (.skel / .json + .atlas + texturas), este complemento crea una vista previa del esqueleto para los elementos que aún no tienen una miniatura personalizada.", - "noticeSafety": "Solo se procesan los elementos recién importados. No se buscan ni modifican elementos existentes y nunca se sobrescriben las miniaturas personalizadas.", - "noticeCompound": "Los campos de nombre y tipo de Eagle solo se ajustan después de confirmar los valores actuales y nuevos de los elementos con extensión compuesta. Los valores originales se guardan y pueden restaurarse.", - "noticeModes": "Animado usa la primera animación y exporta WebP. Estático siempre usa la pose de configuración.", - "noticeDefault": "La generación automática está desactivada de forma predeterminada. Actívala abajo cuando la necesites.", + "noticeIntro": "Función: después de importar recursos de Spine (.skel / .json + .atlas + texturas), este complemento genera una vista previa del esqueleto para los elementos que aún no tienen una miniatura.", + "noticeSafety": "1. La generación automática está desactivada de forma predeterminada y debe activarse abajo manualmente. Solo procesa los elementos recién importados en esta ejecución y nunca sobrescribe miniaturas personalizadas ya configuradas.", + "noticeCompound": "2. En los elementos con extensión compuesta, los campos de nombre y tipo de Eagle solo se ajustan después de confirmar los valores actuales y nuevos. Los valores originales se guardan y pueden restaurarse.", "autoToggle": "Generar miniaturas al importar", "clear": "Borrar registro", "restoreNames": "Restaurar nombres/tipos", diff --git a/SpineThumbnailGenerateServer/_locales/ja_JP.json b/SpineThumbnailGenerateServer/_locales/ja_JP.json index f8a55b7..45b2602 100644 --- a/SpineThumbnailGenerateServer/_locales/ja_JP.json +++ b/SpineThumbnailGenerateServer/_locales/ja_JP.json @@ -6,11 +6,9 @@ }, "thumb": { "title": "Spineサムネイル", - "noticeIntro": "Spine アセット(.skel / .json + .atlas + テクスチャ)を読み込んだ後、カスタムサムネイルがないアイテムにスケルトンプレビューを生成します。", - "noticeSafety": "今回新しく読み込んだアイテムだけを処理し、既存アイテムの走査や変更、カスタムサムネイルの上書きは行いません。", - "noticeCompound": "複合拡張子の項目は、現在値と新しい値を確認した場合にのみ Eagle の名前/種類フィールドを変更します。元の値は保存され、復元できます。", - "noticeModes": "アニメーションは最初のアニメーションを WebP に変換します。静止画は常に setup pose を使用します。", - "noticeDefault": "自動生成は既定でオフです。必要なときに下で有効にしてください。", + "noticeIntro": "機能:Spine アセット(.skel / .json + .atlas + テクスチャ)を読み込むと、サムネイル未設定のアイテムにスケルトンプレビューを生成します。", + "noticeSafety": "1. 自動生成は既定でオフで、下で手動で有効にする必要があります。今回新しく読み込んだアイテムだけを処理し、既に設定されたカスタムサムネイルは上書きしません。", + "noticeCompound": "2. 複合拡張子の項目は、現在値と新しい値を確認した場合にのみ Eagle の名前/種類フィールドを変更します。元の値は保存され、復元できます。", "autoToggle": "読み込み時にサムネイルを自動生成", "clear": "ログを消去", "restoreNames": "名前/種類を復元", diff --git a/SpineThumbnailGenerateServer/_locales/ko_KR.json b/SpineThumbnailGenerateServer/_locales/ko_KR.json index a8c9404..13608d4 100644 --- a/SpineThumbnailGenerateServer/_locales/ko_KR.json +++ b/SpineThumbnailGenerateServer/_locales/ko_KR.json @@ -6,11 +6,9 @@ }, "thumb": { "title": "Spine 썸네일", - "noticeIntro": "Spine 에셋(.skel / .json + .atlas + 텍스처)을 가져온 뒤 사용자 지정 썸네일이 없는 항목에 스켈레톤 미리보기를 생성합니다.", - "noticeSafety": "이번에 새로 가져온 항목만 처리합니다. 기존 항목을 검색하거나 수정하지 않으며 사용자 지정 썸네일을 덮어쓰지 않습니다.", - "noticeCompound": "복합 확장자 항목은 현재 값과 새 값을 확인한 경우에만 Eagle 이름/유형 필드를 변경합니다. 원래 값은 저장되며 복원할 수 있습니다.", - "noticeModes": "애니메이션은 첫 번째 애니메이션을 WebP로 만듭니다. 정지 이미지는 항상 setup pose를 사용합니다.", - "noticeDefault": "자동 생성은 기본적으로 꺼져 있습니다. 필요할 때 아래에서 켜세요.", + "noticeIntro": "기능: Spine 에셋(.skel / .json + .atlas + 텍스처)을 가져오면 썸네일이 아직 설정되지 않은 항목에 스켈레톤 미리보기를 생성합니다.", + "noticeSafety": "1. 자동 생성은 기본적으로 꺼져 있으며 아래에서 직접 켜야 합니다. 이번에 새로 가져온 항목만 처리하고 이미 설정된 사용자 지정 썸네일은 덮어쓰지 않습니다.", + "noticeCompound": "2. 복합 확장자 항목은 현재 값과 새 값을 확인한 경우에만 Eagle 이름/유형 필드를 변경합니다. 원래 값은 저장되며 복원할 수 있습니다.", "autoToggle": "가져올 때 썸네일 자동 생성", "clear": "로그 지우기", "restoreNames": "이름/유형 복원", diff --git a/SpineThumbnailGenerateServer/_locales/ru_RU.json b/SpineThumbnailGenerateServer/_locales/ru_RU.json index baadf79..d87474a 100644 --- a/SpineThumbnailGenerateServer/_locales/ru_RU.json +++ b/SpineThumbnailGenerateServer/_locales/ru_RU.json @@ -6,11 +6,9 @@ }, "thumb": { "title": "Миниатюры Spine", - "noticeIntro": "После импорта ресурсов Spine (.skel / .json + .atlas + текстуры) плагин создаёт предпросмотр скелета для элементов без пользовательской миниатюры.", - "noticeSafety": "Обрабатываются только новые элементы. Существующие элементы не сканируются и не изменяются, пользовательские миниатюры никогда не перезаписываются.", - "noticeCompound": "Поля имени и типа Eagle для элементов с составными расширениями изменяются только после подтверждения текущих и новых значений. Исходные значения сохраняются и могут быть восстановлены.", - "noticeModes": "Анимированный режим использует первую анимацию и экспортирует WebP. Статический всегда использует setup pose.", - "noticeDefault": "Автоматическое создание по умолчанию отключено. Включите его ниже при необходимости.", + "noticeIntro": "Функция: после импорта ресурсов Spine (.skel / .json + .atlas + текстуры) плагин создаёт предпросмотр скелета для элементов, у которых ещё нет миниатюры.", + "noticeSafety": "1. Автоматическое создание по умолчанию отключено и должно быть включено вручную ниже. Обрабатываются только элементы, импортированные в текущем запуске; уже заданные пользовательские миниатюры не перезаписываются.", + "noticeCompound": "2. Поля имени и типа Eagle для элементов с составными расширениями изменяются только после подтверждения текущих и новых значений. Исходные значения сохраняются и могут быть восстановлены.", "autoToggle": "Создавать миниатюры при импорте", "clear": "Очистить журнал", "restoreNames": "Восстановить имена/типы", diff --git a/SpineThumbnailGenerateServer/_locales/zh_CN.json b/SpineThumbnailGenerateServer/_locales/zh_CN.json index 97dc04a..ccac8d1 100644 --- a/SpineThumbnailGenerateServer/_locales/zh_CN.json +++ b/SpineThumbnailGenerateServer/_locales/zh_CN.json @@ -6,11 +6,9 @@ }, "thumb": { "title": "Spine缩略图", - "noticeIntro": "导入 Spine 资产(.skel / .json + .atlas + 贴图)后,本插件会为还没设置缩略图的素材生成一张骨骼预览图。", - "noticeSafety": "它只处理本次新导入的素材,不扫描、不修改历史素材,也不会覆盖你已经设置过的自定义缩略图。", - "noticeCompound": "复合后缀素材只有在确认原值和新值后,才会调整 Eagle 的名称/类型字段;原值会保存并可恢复。", - "noticeModes": "动态取骨骼里的第一个动画压成 WebP;静帧始终使用 setup pose。", - "noticeDefault": "自动生成默认关闭,需要你在下面手动启用。", + "noticeIntro": "功能:导入 Spine 资产(.skel / .json + .atlas + 贴图)后,本插件会为还没设置缩略图的素材生成一张骨骼预览图。", + "noticeSafety": "1. 自动生成默认关闭,需要你在下面手动启用。它只处理本次新导入的素材,不会覆盖已经设置过的自定义缩略图。", + "noticeCompound": "2. 复合后缀素材只有在确认原值和新值后,才会调整 Eagle 的名称/类型字段;原值会保存并可恢复。", "autoToggle": "导入时自动生成缩略图", "clear": "清空日志", "restoreNames": "恢复名称/类型", diff --git a/SpineThumbnailGenerateServer/_locales/zh_TW.json b/SpineThumbnailGenerateServer/_locales/zh_TW.json index 244ae8b..7f9da2e 100644 --- a/SpineThumbnailGenerateServer/_locales/zh_TW.json +++ b/SpineThumbnailGenerateServer/_locales/zh_TW.json @@ -6,11 +6,9 @@ }, "thumb": { "title": "Spine縮圖", - "noticeIntro": "匯入 Spine 資產(.skel / .json + .atlas + 貼圖)後,此外掛會為尚未設定縮圖的素材產生骨骼預覽圖。", - "noticeSafety": "只處理本次新匯入的素材,不掃描或修改歷史素材,也不會覆寫你已設定的自訂縮圖。", - "noticeCompound": "複合副檔名素材只有在確認原始值和新值後,才會調整 Eagle 的名稱/類型欄位;原始值會保存並可還原。", - "noticeModes": "動態會取第一個動畫並壓成 WebP;靜態一律使用 setup pose。", - "noticeDefault": "自動產生預設為關閉,需要時請在下方手動啟用。", + "noticeIntro": "功能:匯入 Spine 資產(.skel / .json + .atlas + 貼圖)後,此外掛會為尚未設定縮圖的素材產生一張骨骼預覽圖。", + "noticeSafety": "1. 自動產生預設為關閉,需要時請在下方手動啟用。只處理本次新匯入的素材,不會覆寫已設定的自訂縮圖。", + "noticeCompound": "2. 複合副檔名素材只有在確認原始值和新值後,才會調整 Eagle 的名稱/類型欄位;原始值會保存並可還原。", "autoToggle": "匯入時自動產生縮圖", "clear": "清除記錄", "restoreNames": "還原名稱/類型", diff --git a/SpineThumbnailGenerateServer/index.html b/SpineThumbnailGenerateServer/index.html index 65e708f..728183f 100644 --- a/SpineThumbnailGenerateServer/index.html +++ b/SpineThumbnailGenerateServer/index.html @@ -8,7 +8,6 @@ html, body { margin: 0; height: 100%; background: var(--bg); color: var(--text); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif; font-size: 13px; } body { display: flex; flex-direction: column; gap: 9px; padding: 14px; box-sizing: border-box; } - h1 { font-size: 15px; margin: 0; font-weight: 600; text-align: center; } .notice { color: var(--dim); line-height: 1.6; background: var(--panel); border: 1px solid var(--border); border-radius: 6px; padding: 9px 11px; } .notice p { margin: 0 0 6px; } @@ -22,6 +21,9 @@ /* 窗口窄的时候整组换行,而不是把标签压成一列一个字符。 */ .toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; } .toolbar-group { display: flex; flex-wrap: wrap; gap: 8px; flex: 0 0 auto; } + .toolbar-group.primary { flex: 1 1 auto; flex-wrap: nowrap; min-width: 0; } + .toolbar-actions { display: flex; flex: 0 0 auto; gap: 8px; } + .toolbar-group.primary .toggle-row { min-width: 220px; } #clear, #restoreNames { background: var(--panel); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 9px 12px; font: inherit; cursor: pointer; white-space: nowrap; } #clear:hover, #restoreNames:hover { border-color: var(--accent); color: var(--accent); } @@ -89,19 +91,18 @@ -

Spine缩略图

-

导入 Spine 资产(.skel / .json + .atlas + 贴图)后,本插件会为还没设置缩略图的素材生成一张骨骼预览图。

-

它只处理本次新导入的素材,不扫描、不修改历史素材,也不会覆盖你已经设置过的自定义缩略图。

-

复合后缀素材只有在确认原值和新值后,才会调整 Eagle 的名称/类型字段;原值会保存并可恢复。

-

动态取骨骼里的第一个动画压成 WebP;静帧始终使用 setup pose。

-

自动生成默认关闭,需要你在下面手动启用。

+

功能:导入 Spine 资产(.skel / .json + .atlas + 贴图)后,本插件会为还没设置缩略图的素材生成一张骨骼预览图。

+

1. 自动生成默认关闭,需要你在下面手动启用。它只处理本次新导入的素材,不会覆盖已经设置过的自定义缩略图。

+

2. 复合后缀素材只有在确认原值和新值后,才会调整 Eagle 的名称/类型字段;原值会保存并可恢复。

-
+
- +
+ +