{ "manifest": { "app": { "name": "Spine 썸네일" } }, "thumb": { "title": "Spine 썸네일", "noticeIntro": "Spine 에셋(.skel / .json + .atlas + 텍스처)을 가져온 뒤 사용자 지정 썸네일이 없는 항목에 스켈레톤 미리보기를 생성합니다.", "noticeSafety": "이번에 새로 가져온 항목만 처리합니다. 기존 항목을 검색하거나 수정하지 않으며 사용자 지정 썸네일을 덮어쓰지 않습니다.", "noticeModes": "애니메이션은 첫 번째 애니메이션을 WebP로 만듭니다. 정지 이미지는 항상 setup pose를 사용합니다.", "noticeDefault": "자동 생성은 기본적으로 꺼져 있습니다. 필요할 때 아래에서 켜세요.", "autoToggle": "가져올 때 썸네일 자동 생성", "clear": "로그 지우기", "modeLabel": "생성 방식", "modeAnimated": "애니메이션(첫 번째 애니메이션)", "modeStatic": "정지 이미지(setup pose)", "strategyLabel": "생성 전략", "strategySize": "최소 파일(느림)", "strategySpeed": "최고 속도(빠름)", "statusLabel": "상태", "statusStarting": "시작 중…", "libraryLabel": "라이브러리", "statsLabel": "통계", "filterAll": "전체", "filterOk": "성공", "filterFail": "실패", "filterWarn": "경고", "filterError": "오류", "unknownError": "알 수 없는 오류", "scriptError": "스크립트 오류: {error}", "promiseError": "처리되지 않은 Promise 오류: {error}", "uncategorized": "미분류", "reasonQuiet": "정적 감지", "reasonFallback": "대체 검색", "none": "없음", "complete": "완전", "incomplete": "불완전", "statusLoaded": "스크립트 {version}을(를) 불러왔습니다. Eagle 이벤트를 기다리는 중…", "statusEagleMissing": "Eagle API를 사용할 수 없음", "statusListening": "감시 중", "statusListenFailed": "감시 실패", "statusAutoOff": "감시 중(자동 생성 꺼짐)", "statusNoLibrary": "라이브러리 경로를 가져올 수 없음", "statusPairing": "새 에셋 연결 중…", "statusPairingProgress": "연결 중 {current}/{total}", "statusRendering": "프레임 렌더링 중 {current}/{total}(대기 {queued})", "statusGenerating": "썸네일 생성 중… 남은 항목 {queued}", "statusPaused": "일시 정지됨(진행 창에서 계속하거나 취소하세요)", "statusAutoSkipped": "자동 생성이 꺼져 있어 이번 묶음을 건너뛰었습니다", "statusStartFailed": "시작 실패: {error}", "stats": "묶음 {batches} · 추가 {added} · Spine {spine} · 완전 {complete} · 생성 {generated} · 건너뜀 {skipped} · 실패 {failed}", "modulesMissing": "로컬 모듈이 로드되지 않음: {modules}", "moduleLoadError": "로컬 모듈이 로드되지 않았습니다. index.html의 script 순서를 확인하세요: {modules}", "version": "플러그인 코드 버전 {version}", "pluginCreated": "플러그인 생성됨: {name}", "settingsReadFailed": "설정을 읽지 못해 기본값을 사용합니다(자동 생성 꺼짐): {error}", "settingsSaveFailed": "설정 저장 실패: {error}", "autoEnabled": "자동 생성을 켰습니다. 새로 가져오는 Spine 에셋에 썸네일을 생성합니다.", "autoDisabled": "자동 생성을 껐으며 대기 큐를 비웠습니다.", "modeStaticLog": "생성 방식: 정지 이미지(항상 setup pose, PNG)", "modeAnimatedLog": "생성 방식: 애니메이션(첫 애니메이션을 WebP로 만들고 없으면 setup pose 사용)", "strategySpeedLog": "생성 전략: 최고 속도(대략 선택 후 가장 작은 1~2개 프로필만 생성)", "strategySizeLog": "생성 전략: 최소 파일(10개 프로필을 모두 생성하고 가장 작은 결과 선택)", "missingItem": "{label} 건너뜀: Eagle에서 항목을 찾을 수 없음", "suffixFixed": "{label}의 복합 확장자 수정 → {name}", "suffixFailed": "{label}의 복합 확장자 수정 실패: {error}", "existingThumbnail": "{label} 건너뜀: 사용자 지정 썸네일이 이미 있음", "thumbnailRejected": "Eagle이 이 썸네일을 거부했습니다", "generated": "{label} 생성됨 | {details} | Spine {version}", "generateFailed": "{label} 생성 실패: {error}", "cancelled": "생성 취소: 남은 {dropped}개를 버렸습니다. 완료 {done}개(성공 {generated}, 실패 {failed}, 건너뜀 {skipped})", "batchFailed": "가져오기 묶음 처리 실패: {error}", "batchFinished": "묶음 완료: {added}개 추가, 라이브러리 전체 {total}개({reason})", "recheck": "이전 불완전 에셋 {count}개 다시 확인", "noSpine": "이번 묶음에 Spine 에셋이 없습니다", "incompletePending": "불완전한 에셋 {count}개를 이후 가져오기 후 다시 확인합니다", "incompleteIgnored": "불완전한 에셋 {count}개가 있으며 이번 묶음에서는 처리하지 않습니다", "itemSummary": " {name} | {path} | {state} | 스켈레톤 {skeleton} | atlas {atlas} | 페이지 {pages}(누락 {missing})", "autoSkipped": "자동 생성이 꺼져 있어 이번 묶음의 에셋 {count}개를 건너뛰었습니다", "queued": "{added}개를 큐에 추가했습니다. 현재 대기 {queued}개{state}", "queuedRunning": "(처리 중)", "libraryInfoNoPath": "library.info()가 경로를 반환하지 않음: {info}", "libraryInfoFailed": "library.info() 호출 실패: {error}", "switchingLibrary": "라이브러리 전환: {path}", "noCreateEvent": "생성 이벤트를 받지 못해 직접 시작합니다", "watching": "{path} 감시 중(기존 항목 {count}개는 기록으로 간주하여 처리하지 않음)", "watchReadFailed": "에셋 디렉터리를 읽지 못함: {error}", "watchMissingDir": "에셋 디렉터리가 없음: {path}", "watchFailed": "감시 시작 실패: {error}", "fixSuffixAction": "{label}의 복합 확장자 수정", "renderAction": "{label} 렌더링", "setThumbnailAction": "{label} 썸네일 설정", "thumbnailDetailsAnimated": "애니메이션 {size}@{fps}fps/q{quality}/{kb}KB(목표 {target}KB)/ {frames}프레임 / 애니메이션 {animation}/{strategy}{limit}", "thumbnailDetailsStatic": "정지 이미지 {width}×{height}/{kb}KB{fallback}", "bestSpeed": "최고 속도", "bestSize": "최소 파일", "fallbackNote": "({text})", "fallbackNoAnimation": "스켈레톤에 애니메이션이 없습니다", "fallbackAnimatedFailed": "애니메이션 생성 실패: {error}", "limitNote": "(가장 작은 프로필도 목표 크기를 초과합니다. 썸네일 크기를 늘리세요)", "runSummary": "성공 {generated}, 실패 {failed}, 건너뜀 {skipped}, {seconds}초 소요." }, "progress": { "title": "Spine 썸네일", "generating": "애니메이션 썸네일 생성 중……", "waiting": "시작 대기 중…", "confirmPrompt": "이번 작업을 취소할까요?", "resume": "계속", "cancel": "취소 확인", "stop": "중지", "confirm": "확인", "generatedConfirm": "썸네일 {done}개를 생성했습니다. 취소할까요?", "complete": "완료", "completed": "완료 {done} / {total}({percent}%)" } }