Files
SpineViewer/release/UNIVERSAL_SpineViewer/_locales/ko_KR.json
T
Yeomai e94dfb9e35 缩略图二分定位 + 邻域采样
B. 二分定位 + 邻域采样(我推荐)
把配置的语义从"这就是要生成的 10 档"改成"允许搜索的参数梯度"(比如分辨率梯度、帧率梯度、质量梯度三张表)。运行时:
1. 用每个组合只编 2 帧的方式粗估体积(很便宜);
2. 靠单调性做二分,几轮就找到"体积刚好不超过目标"的参数点;
3. 在这个点周围取 10 个组合(略高、略低各几个),完整生成。
成本大概是十几次估算编码 + 10 档完整编码,和现在基本持平甚至更省(估算只编 2 帧)。效果是候选真正围绕你输入的目标分布——比如你填 30 KB,出来的就是 22、26、29、31、35 KB 这种,而不是 5 KB 和 300 KB 各一个。
代价是你现在这套配置格式要推翻重做——从"精确档位表"变成"参数范围表"
2026-09-20 00:39:38 +08:00

147 lines
10 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": "왼쪽 클릭으로 정적 썸네일 생성, 오른쪽 클릭으로 동적 썸네일 생성",
"animatedThumbnailTitle": "애니메이션 썸네일 생성",
"animatedThumbnailAttention": "주의:",
"animatedThumbnailNote": "생성된 썸네일은 기존 썸네일을 교체합니다. 이 작업은 취소할 수 없으며 ",
"animatedThumbnailDanger": "기존 썸네일을 복원할 수 없습니다",
"animatedThumbnailSizeNote": ". 데이터가 너무 커지지 않도록 파일은 설정한 크기 이하로 조정됩니다.",
"animatedFormat": "출력 형식",
"animatedRange": "애니메이션 범위",
"animatedStart": "시작",
"animatedEnd": "종료",
"framesUnit": "프레임",
"animatedQuality": "썸네일 품질",
"animatedMaxSize": "썸네일 크기",
"animatedInvalidSize": "10~1024KB 사이의 정수를 입력하세요",
"animatedCompressing": "애니메이션 썸네일 압축 중 {current}/{total}…",
"animatedWebpUnavailable": "현재 환경에서 WebP를 인코딩할 수 없습니다. APNG를 선택하세요.",
"animatedCannotFit": "애니메이션을 {target}KB로 줄일 수 없습니다(최소 약 {actual}KB). 제한을 높이거나 프레임 범위를 줄이세요.",
"animatedPickTitle": "썸네일 선택",
"animatedPickHint": "모든 결과의 캔버스는 400×400이며, 라벨은 실제 디테일 해상도@fps/품질/파일 크기입니다. 하나를 선택하고 확인을 누르면 적용되고, 취소하면 모두 버려집니다.",
"animatedPickConfirm": "확인",
"animatedPriority": "우선 순위",
"priorityResolution": "해상도 우선",
"priorityFramerate": "프레임률 우선",
"priorityBalanced": "해상도와 프레임률 교차",
"qualityLow": "낮음",
"qualityMedium": "보통",
"qualityHigh": "높음",
"animatedConfirm": "생성 및 교체",
"animatedInvalidRange": "0에서 {duration}프레임 사이의 올바른 정수 프레임 범위를 입력하세요",
"animatedGenerating": "애니메이션 썸네일 생성 중 {current}/{total}…",
"animatedTooLarge": "애니메이션 썸네일이 50MB를 초과합니다. 범위를 줄이거나 더 낮은 품질을 선택하세요.",
"animatedThumbUpdated": "애니메이션 썸네일 업데이트 · {frames}프레임 · {size}KB",
"groupThumbnail": "관련 자산 썸네일 생성",
"groupThumbnailTitle": "왼쪽 클릭으로 정적 썸네일 생성, 오른쪽 클릭으로 동적 썸네일 생성",
"groupDialogTitle": "관련 자산 썸네일 생성",
"groupDialogSummary": "{generate}개를 생성하고 {skip}개를 건너뜁니다.",
"groupDialogNote": "선택한 관련 자산에만 썸네일을 생성합니다. 이미지와 사용자 지정 썸네일이 있는 자산은 기본적으로 선택하지 않습니다. 후자를 선택하면 기존 썸네일이 교체되며 플러그인에서 자동 복원할 수 없습니다.",
"cancel": "취소",
"groupConfirm": "생성",
"groupWillGenerate": "생성 예정",
"groupNotSelected": "선택하지 않음",
"groupSkipCustom": "건너뛰: 사용자 지정 썸네일 있음",
"groupUnavailable": "건너뛰: 확인할 수 없음",
"groupNoTargets": "현재 자산 그룹에 생성할 수 있는 썸네일이 없습니다.",
"groupGenerating": "자산 그룹 썸네일 생성 중 {current}/{total}…",
"groupApplyNotConfirmed": "Eagle에서 썸네일 적용을 확인하지 못했습니다",
"groupComplete": "완료: 성공 {success}, 건너뛰 {skip}, 실패 {failed}.",
"versionTitle": "Spine 버전",
"reloadTitle": "폴더 다시 불러오기",
"animationList": "애니메이션 목록",
"animations": "애니메이션",
"setupPose": "Setup Pose",
"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": "에셋 경로에서 Eagle 항목 ID를 찾을 수 없습니다",
"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": "이 파일은 .atlas.txt 또는 .skel.bytes 형식의 Spine 리소스가 아닙니다.",
"truncated256": "\n\n(앞부분 256 KB만 표시)",
"suffix": "접미사",
"suffixTitle": "파일 이름 접미사는 매칭 시 무시되어 hero-mesh.skel 이 hero.atlas 와 같은 세트로 묶입니다",
"suffixManage": "접미사 관리…",
"suffixAdd": "+ 접미사 추가…",
"suffixDefaults": "기본 접미사",
"suffixCustom": "사용자 접미사(선택하면 제거)",
"suffixAddTitle": "접미사 추가",
"suffixAddNote": "접미사는 파일 이름 매칭 시 무시됩니다. hover 를 추가하면 hero-hover.skel 이 hero.atlas 와 같은 세트가 됩니다. 영문, 숫자, - 와 _ 만 사용할 수 있으며 최대 50자입니다.",
"suffixPlaceholder": "예: hover",
"suffixInvalid": "영문, 숫자, - 와 _ 만 사용할 수 있으며 첫 글자는 영문이나 숫자여야 합니다",
"suffixDuplicate": "이미 존재하는 접미사입니다",
"suffixConfirm": "추가",
"suffixRemoveTitle": "접미사 제거",
"suffixRemoveNote": "“{name}”을(를) 제거하면 해당 접미사가 붙은 파일은 더 이상 자동으로 매칭되지 않습니다.",
"suffixRemove": "제거",
"suffixSaveFailed": "접미사 설정을 저장하지 못했습니다: {error}",
"truncated1m": "\n\n(파일이 커서 앞부분 1 MB만 표시)",
"groupWillReplaceCustom": "기존 사용자 지정 썸네일 교체",
"groupCustomNotSelected": "사용자 지정 썸네일 있음(선택 안 함)"
}
}