Files
SpineViewer/_locales/ja_JP.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
11 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 から 1024 KB までの整数を入力してください",
"animatedCompressing": "アニメーションサムネイルを圧縮中 {current}/{total}…",
"animatedWebpUnavailable": "この環境では WebP をエンコードできません。APNG を選択してください。",
"animatedCannotFit": "アニメーションを {target} KB まで圧縮できません(最小約 {actual} KB)。上限を増やすかフレーム範囲を短くしてください。",
"animatedPickTitle": "サムネイルを選択",
"animatedPickHint": "すべての結果は 400×400 のキャンバスです。ラベルは実際のディテール解像度@fps/品質/ファイルサイズを示します。1つ選んで確認を押すと置き換え、キャンセルですべて破棄します。",
"animatedPickConfirm": "確認",
"animatedPriority": "優先度",
"priorityResolution": "解像度優先",
"priorityFramerate": "フレームレート優先",
"priorityBalanced": "解像度とフレームレートを交互に",
"qualityLow": "低",
"qualityMedium": "中",
"qualityHigh": "高",
"animatedConfirm": "生成して置き換え",
"animatedInvalidRange": "0 から {duration} フレームまでの有効な整数フレーム範囲を入力してください",
"animatedGenerating": "アニメーションサムネイルを生成中 {current}/{total}…",
"animatedTooLarge": "アニメーションサムネイルが 50 MB を超えます。範囲を短くするか、低い品質を選択してください。",
"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": "カスタムサムネイルあり(未選択)"
}
}